Monday, 4 January 2016

Source compatibility of org.apache.hadoop.mapred APIs

Source incompatibility means that some code changes are required for compilation.

Source incompatibility is orthogonal to binary compatibility.

Binaries for an application that is binary compatible but not source compatible will continue to run fine on the new framework. However, code changes are required to regenerate these binaries.

Apache Hadoop 2.x does not ensure complete binary compatibility with the applications that use  org.apache.hadoop.mapreduce  APIs, as these APIs have evolved a lot since MRv1. However, it ensures source compatibility for  org.apache.hadoop.mapreduce  APIs that break binary compatibility. In other words, you should recompile the applications that use MapReduce APIs against MRv2 JARs.

Existing applications that use MapReduce APIs are source compatible and can run on YARN with no changes, recompilation, and/or minor updates.

If an MRv1 MapReduce-based application fails to run on YARN, you are requested to investigate its source code and check whether MapReduce APIs are referred to or not. If they are referred to, you have to recompile the application against the MRv2 JARs that are shipped with Hadoop 2.
Related Posts Plugin for WordPress, Blogger...