Hadoop:实现o.a.h.mapred的接口,或者从o.a.h.mapreduce扩展类?

时间:2011-11-04 15:33:54

标签: java hadoop hbase

我正在学习Hadoop(0.20.205),我有点困惑。推荐哪种方式:

A)从Mapper实施Reducerorg.apache.hadoop.mapred接口,并使用JobConf配置作业,如PiEstimator示例所示。

B)从Mapper扩展Reducerorg.apache.hadoop.mapreduce个类,并使用Job配置作业,如WordCount示例所示。

将来哪一个更容易过时?

Hbase(0.90.4)似乎更喜欢第二种方式,因为TableOutputFormat中的o.a.h.h.mapred已被弃用,而TableOutFormat中的o.a.h.h.mapreduce则不被推荐。另一方面,IdentityMapperIdentityReducer等有用的类似乎只存在于o.a.h.mapred中。总的来说,我倾向于B版。

您会选择哪种方式?为什么?提前谢谢。

1 个答案:

答案 0 :(得分:2)

o.a.h.mapred是旧的MR API,o.a.h.mapreduce是新的API。功能明显不同,但新API更易于维护。请在StackOverflow here中查看我的回复。