4

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

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

编辑:可能不清楚我所说的“我需要可重复用于更多工作的通用解决方案”是什么意思。让我举例说明一下:

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

4

1 回答 1

0

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

于 2012-11-26T22:40:08.717 回答