I’m using Hadoop version 0.22.0 downloaded here. I started to create my custom mapper and reducer according to this tutorial and found out that interface Mapper<K1, V1, K2, V2> that is to be implemented by all mapper classes is deprecated. Interface Reducer<K2, V2, K3, V3> that is meant to be implemented by all reducers (at least according to the tutorial) is also deprecated. So are classes like MapReduceBase and JobConf. These are all core classes and interfaces that are needed by all custom mappers and reducers, aren’t they? There is no note in javadoc what should be used as a replacement of those deprecated classes.
So what interfaces and classes should I use instead of those deprecated ones? Or should I use them anyway? Why are they deprecated? Please just explain to me what’s going on and what should I do because I’m not getting it.
There is a class (not interface!) with the same name
Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>in packageorg.apache.hadoop.mapreducethat should be used instead of the interface and base class. Same story with reducer: there is a classReducer<KEYIN, VALUEIN, KEYOUT, VALUEOUT>in packageorg.apache.hadoop.mapreduce.I still don’t know what to do with
JobConfand such but I’ll update my answer when I found out.Edit: Class
Configurationis to be used instead ofJobConf.