Java Hadoop:从o.a.h.mapred实现接口,还是从o.a.h.mapreduce扩展类?

Java Hadoop:从o.a.h.mapred实现接口,还是从o.a.h.mapreduce扩展类?,java,hadoop,hbase,Java,Hadoop,Hbase,我正在学习Hadoop(0.20.205),我有点困惑。建议采用哪种方式: A) 从org.apache.hadoop.mapred实现Mapper和Reducer接口,并使用JobConf配置作业,如PiEstimator示例所示 B) 从org.apache.hadoop.mapreduce扩展Mapper和Reducer类,并使用job配置作业,如WordCount示例所示 哪一个在未来更可能被淘汰 Hbase(0.90.4)似乎更喜欢第二种方式,因为o.a.h.h.mapred中的Tab

我正在学习Hadoop(0.20.205),我有点困惑。建议采用哪种方式:

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

B) 从
org.apache.hadoop.mapreduce
扩展
Mapper
Reducer
类,并使用
job
配置作业,如
WordCount
示例所示

哪一个在未来更可能被淘汰

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


你会选择哪条路,为什么?提前感谢。

o.a.h.mapred是旧的MR API,而o.a.h.mapreduce是新的API。在功能方面没有太大区别,但新的API更易于维护。请参阅我在StackOverflow中的回复。

非常感谢您的回复!还有,现在我看到我的问题是重复的。