java - Hadoop:使用什么来代替已弃用的接口(interface) Mapper 和Reducer?

标签 java hadoop mapreduce version deprecated

我正在使用 Hadoop 版本 0.22.0 下载 here 。我开始根据this创建我的自定义映射器和 reducer 教程并发现界面Mapper<K1, V1, K2, V2>由所有映射器类实现的方法已被弃用。接口(interface)Reducer<K2, V2, K3, V3>这意味着所有 reducer 都要实现(至少根据 the tutorial )也已被弃用。像 MapReduceBase 这样的类也是如此和JobConf 。这些都是所有自定义映射器和化简器都需要的核心类和接口(interface),不是吗? javadoc 中没有说明应该使用什么来替代那些已弃用的类。

那么我应该使用哪些接口(interface)和类来代替那些已弃用的接口(interface)和类呢?或者我应该使用它们吗?为什么它们被弃用?请向我解释一下发生了什么事以及我应该做什么,因为我不明白。

最佳答案

来自 org.apache.hadoop.mapred 的类(class)包来自旧的 MR API 和 org.apache.hadoop.mapreduce来自新的 API。请注意,所有类尚未从旧 API 移植到新 API。这是similar来自 SO 的线程。

关于java - Hadoop:使用什么来代替已弃用的接口(interface) Mapper 和Reducer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159409/

相关文章:

java - 连续从控制台读取消息并执行其他操作的正确方法

java - 无法解释 NullPointerException

hadoop - 使用分布式缓存读取文件

java - Pig 脚本在 0.12.0 上工作但不在 0.11.1 上工作

hadoop - 检查条件后如何终止mapreduce作业?

java - 麻烦创建一个长

java - Android,获取InputStream考虑重定向

networking - hadoop中主机名到IP冲突

Python - 多线程字/行计数

eclipse - 找到接口(interface) org.apache.hadoop.mapreduce.jobcontext 但是当另一个类工作正常时一个类的类预期错误