Java Hadoop:从o.a.h.mapred实现接口,还是从o.a.h.mapreduce扩展类?
我正在学习Hadoop(0.20.205),我有点困惑。建议采用哪种方式: A) 从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
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中的回复。非常感谢您的回复!还有,现在我看到我的问题是重复的。