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