Hi Ahmed, Hadoop 0.20.0 included the new mapred API, these sometimes refer as context objects. These are designed to make API easier to evolve in future. There are some differences between new & old API's,
> The new API's favour abstract classes rather than interfaces, since abstract > classes are easy to evolve. > New API's use context objects like MapContext & ReduceContext to connect the > user code. > The old API has a special JobConf object for jobconf, in new API Job > configuration will be done using Configuration. You can find the new API's in org.apache.hadoop.mapreduce.lib.input.* package and its sub packages, old API's in org.apache.hadoop.mapred.* package its sub packages. The new API is type-incompatible with the old, we need to rewrite the jobs to make use of these advantages. Based on these things you can select which API's to use. Thanks Devaraj k From: Ahmed Eldawy [mailto:aseld...@gmail.com] Sent: 05 July 2013 00:00 To: user@hadoop.apache.org Subject: Which InputFormat to use? Hi I'm developing a new set of InputFormats that are used for a project I'm doing. I found that there are two ways to create a new InputFormat. 1- Extend the abstract class org.apache.hadoop.mapreduce.InputFormat 2- Implement the interface org.apache.hadoop.mapred.InputFormat I don't know why there are two versions which are incompatible. I found out that for each one, there is a whole set of interfaces for different classes such as InputSplit, RecordReader and MapReduce job. Unfortunately, each set of classes is not compatible with the other one. This means that I have to choose one of the interfaces and go with it till the end. I have two questions basically. 1- Which of these two interfaces I should go with? I didn't find any deprecation in one of them so they both seem legitimate. Is there any plan to retire one of them? 2- I already have some classes implemented in one of the formats, does it worth refactoring these classes to use the other interface, in case I used he old format. Thanks in advance for your help. Best regards, Ahmed Eldawy