46
votes

Why are there two separate packages map-reduce package in Apache's hadoop package tree:

org.apache.hadoop.mapred 

http://javasourcecode.org/html/open-source/hadoop/hadoop-1.0.3/org/apache/hadoop/mapred/

org.apache.hadoop.mapreduce

http://javasourcecode.org/html/open-source/hadoop/hadoop-1.0.3/org/apache/hadoop/mapreduce/

Why are they separated out? Is there documentation that clarifies this?

1
some more references [mapred or mapreduce][1] to help mapred api vs mapreduce [1]: stackoverflow.com/questions/7598422/… - Laxmikanth Samudrala

1 Answers

66
votes

They are separated out because both of these packages represent 2 different APIs. org.apache.hadoop.mapred is the older API and org.apache.hadoop.mapreduce is the new one. And it was done to allow programmers write MapReduce jobs in a more convenient, easier and sophisticated fashion. You might find this presentation useful, which talks about the differences in detail.

Hope this answers your question.