我使用的是从这里下载的hadoop版本0.22.0。我开始根据本教程创建我的自定义Map器和缩减器,并找到了该接口 Mapper<K1, V1, K2, V2>
将由所有Map器类实现的Map器已被弃用。接口 Reducer<K2, V2, K3, V3>
这意味着要实现的所有减少(至少根据教程)也不赞成。所以像这样的课程 MapReduceBase
以及 JobConf
. 这些都是所有定制Map器和还原器所需要的核心类和接口,不是吗?javadoc中没有说明应该用什么来替换那些不推荐使用的类。
那么我应该使用什么接口和类来代替那些不推荐的接口和类呢?还是我应该用它们?为什么不赞成?请告诉我发生了什么,我该怎么做,因为我不明白。
2条答案
按热度按时间ne5o7dgx1#
org.apache.hadoop.mapred包中的类来自旧的mr api,org.apache.hadoop.mapreduce中的类来自新的api。注意,所有的类都没有从旧api移植到新api。这是一条类似的线索。
bjp0bcyl2#
有一个类(不是接口!)同名的
Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>
Package 内org.apache.hadoop.mapreduce
应该使用,而不是接口和基类。减速机也是这样:有一个类Reducer<KEYIN, VALUEIN, KEYOUT, VALUEOUT>
Package 内org.apache.hadoop.mapreduce
.我还是不知道该怎么办
JobConf
但我发现后会更新我的答案。编辑:类
Configuration
是用来代替JobConf
.