我需要为Hadoop MapReduce应用程序实现自定义(服务)输入源。我google'd和SO'd,发现一种方法是实现自定义的InputFormat。这是对的吗?
显然根据http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapred/InputFormat.html输入方法的方法,不推荐使用getRecordReader()和getSplits()。什么是替代品?
Hadoop的WordCount示例仍然使用相同的...
答案 0 :(得分:5)
虽然Hadoop仍在内部使用mapred包中的内容,但从用户的角度来看,它们几乎都应被视为已弃用。 Hadoop在文档方面非常缺乏,而且它们的例子都过时了。幸运的是,当你真的陷入困境时,总是存在stackoverflow
答案 1 :(得分:4)
发生了什么,在0.20中,他们弃用了mapred类并引入了一个新的API。但是,新API缺少很少的核心功能,因此旧版API在最新版本中“未初级化”。建议使用旧的API,因为它很可能会留在那里。
答案 2 :(得分:2)
弃用的接口
...
org.apache.hadoop.mapred.InputFormat
改为使用InputFormat。
...
由于使用0.20.2
的奇怪的弃用行为,甚至更糟糕的建议在弃用接口后使用实现,我挖得更深一些。此接口仍存在于0.21.0
中,并删除了弃用标记。在撰写本文时,我无法在主干中找到类似的界面。