Hadoop MapReduce InputFormat已弃用?

时间:2010-12-08 04:39:14

标签: hadoop mapreduce

我需要为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示例仍然使用相同的...

3 个答案:

答案 0 :(得分:5)

虽然Hadoop仍在内部使用mapred包中的内容,但从用户的角度来看,它们几乎都应被视为已弃用。 Hadoop在文档方面非常缺乏,而且它们的例子都过时了。幸运的是,当你真的陷入困境时,总是存在stackoverflow

答案 1 :(得分:4)

发生了什么,在0.20中,他们弃用了mapred类并引入了一个新的API。但是,新API缺少很少的核心功能,因此旧版API在最新版本中“未初级化”。建议使用旧的API,因为它很可能会留在那里。

答案 2 :(得分:2)

来自the documentation:

  

弃用的接口

     

...

     

org.apache.hadoop.mapred.InputFormat

     

改为使用InputFormat

     

...

由于使用0.20.2的奇怪的弃用行为,甚至更糟糕的建议在弃用接口后使用实现,我挖得更深一些。此接口仍存在于0.21.0中,并删除了弃用标记。在撰写本文时,我无法在主干中找到类似的界面。