我正在学习Hadoop(0.20.205),我有点困惑。推荐哪种方式:
A)从Mapper
实施Reducer
和org.apache.hadoop.mapred
接口,并使用JobConf
配置作业,如PiEstimator
示例所示。
B)从Mapper
扩展Reducer
和org.apache.hadoop.mapreduce
个类,并使用Job
配置作业,如WordCount
示例所示。
将来哪一个更容易过时?
Hbase(0.90.4)似乎更喜欢第二种方式,因为TableOutputFormat
中的o.a.h.h.mapred
已被弃用,而TableOutFormat
中的o.a.h.h.mapreduce
则不被推荐。另一方面,IdentityMapper
或IdentityReducer
等有用的类似乎只存在于o.a.h.mapred
中。总的来说,我倾向于B版。
您会选择哪种方式?为什么?提前谢谢。
答案 0 :(得分:2)
o.a.h.mapred是旧的MR API,o.a.h.mapreduce是新的API。功能明显不同,但新API更易于维护。请在StackOverflow here中查看我的回复。