Hadoop Mapreduce:是否可以将mapper输出写入单独的输出文件(而不是中间的)而不将reducer的数量设置为零?

时间:2013-06-08 19:27:33

标签: java python apache hadoop mapreduce

我需要匿名化由数千个文件组成的GB数据。通常这样做需要永远;因此,我计划在我们的服务器上使用已安装的伪分布式Hadoop集群。

需要对每个文件中的每个记录对几列进行匿名化,并且这些匿名列将存储在哈希映射中。

理想情况下,我希望mapper实例处理每个文件并生成相应的匿名输出文件。此外,映射器应该将匿名列吐出为键值对,reducer将聚合到单个文件中。

上述过程是否可以在hadoop框架中实现?如果没有,有没有更好的方法来做到这一点?任何帮助或建议表示赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

结帐MultipleOutputs。它允许您为Mapper或Reducer的输出定义多个文件名。

对于匿名化,只需确保您想要的文件名是匿名的,并且映射器输出匿名密钥。 context.write(anonymized(key), value);

相关问题