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

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

对于每个文件中的每个记录,都需要在几列上进行匿名化,这些匿名化的列将存储在哈希图中。

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

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


月关宝盒
浏览 233回答 1
1回答

喵喵时光机

签出MultipleOutputs。它允许您为Mapper或Reducer的输出定义多个文件名。至于匿名化,只需确保您想要的文件名已被匿名化,并且映射器输出了匿名化的密钥。 context.write(anonymized(key), value);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python