我需要匿名化由数千个文件组成的GB数据。通常这样做需要永远;因此,我计划在我们的服务器上使用已安装的伪分布式Hadoop集群。
需要对每个文件中的每个记录对几列进行匿名化,并且这些匿名列将存储在哈希映射中。
理想情况下,我希望mapper实例处理每个文件并生成相应的匿名输出文件。此外,映射器应该将匿名列吐出为键值对,reducer将聚合到单个文件中。
上述过程是否可以在hadoop框架中实现?如果没有,有没有更好的方法来做到这一点?任何帮助或建议表示赞赏。感谢。
答案 0 :(得分:1)
结帐MultipleOutputs。它允许您为Mapper或Reducer的输出定义多个文件名。
对于匿名化,只需确保您想要的文件名是匿名的,并且映射器输出匿名密钥。 context.write(anonymized(key), value);