Hello People,
As per the Apache site 
http://hadoop.apache.org/docs/r2.3.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduce_Compatibility_Hadoop1_Hadoop2.html
  Binary Compatibility====================First, we ensure binary compatibility 
to the applications that use old mapred APIs. This means that applications 
which were built against MRv1 mapred APIs can run directly on YARN without 
recompilation, merely by pointing them to an Apache Hadoop 2.x cluster via 
configuration.
Source Compatibility====================We cannot ensure complete binary 
compatibility with the applications that use mapreduce APIs, as these APIs have 
evolved a lot since MRv1. However, we ensure source compatibility for mapreduce 
APIs that break binary compatibility. In other words, users should recompile 
their applications that use mapreduce APIs against MRv2 jars. One notable 
binary incompatibility break is Counter and CounterGroup.
For "Binary Compatibility" I understand that if I had build a MR job with old 
*mapred* APIs then they can be run directly on YARN without and changes.
Can anybody explain what do we mean by "Source Compatibility" here and also a 
use case where one will need it?
Does that mean code changes if I already have a MR job source code written with 
with old *mapred* APIs and I need to make some changes to it to run in then I 
need to use the new "mapreduce* API and generate the new  binaries?
Thanks,-RR

                                          

Reply via email to