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