Old and new MapReduce APIs
The new API (which is also known as Context Objects) was primarily designed to make the API easier to evolve in the future and is type incompatible with the old one.
The new API came into the picture from the 1.x release series. However, it was partially supported in this series. So, the old API is recommended for 1.x series:
Feature\Release |
1.x |
0.23 |
---|---|---|
Old MapReduce API |
Yes |
Deprecated |
New MapReduce API |
Partial |
Yes |
MRv1 runtime (Classic) |
Yes |
No |
MRv2 runtime (YARN) |
No |
Yes |
The old and new API can be compared as follows:
Old API |
New API |
---|---|
The old API is in |
The new API is in the |
The old API used interfaces for Mapper and Reducer. |
The new API uses Abstract Classes for Mapper and Reducer. |
The old API used the JobConf, OutputCollector, and Reporter object to communicate with the MapReduce system. |
The new API uses the context object to communicate with the MapReduce... |