如何在Hadoop map / reduce作业输出文件中过滤键或值?

时间:2012-11-26 22:36:02

标签: java hadoop mapreduce outputformat

通常,Hadoop map / reduce作业会生成写入作业输出文件的键值对列表(使用OutputFormat类)。很少,键和值都很有用,通常键或值都包含所需信息。

是否有选项(在客户端)抑制输出文件中的键或抑制输出文件中的值? 如果我只想为一个特定的工作做这个,我可以创建新的OutputFormat实现,忽略键或值。但我需要可以重复使用的通用解决方案。

编辑:我可能不清楚我的意思是“我需要可以重复使用的通用解决方案。”让我在例子中解释一下:

假设我有很多准备好的MapperReducerOutputFormats课程。我想将它们组合到不同的“作业”并在不同的输入文件上运行这些“作业”以生成各种输出文件。在某些情况下(对于某些作业)我需要抑制键,因此它们不会写入输出文件。我不想改变我的映射器的代码,减少输出格式 - 他们有太多的东西要做。我需要一些通用的解决方案,不需要更改给定的映射器,缩减器或输出格式的代码。我该怎么做?

1 个答案:

答案 0 :(得分:0)

没有理由不能将hadoop流程中的最后一步配置为将NullWritable写为键或值。您不应该期望该文件在任何后续的map reduce步骤中都有用。