使用 MapReduce 获取大文件中的重复记录

Vi *_*Van 3 merge mapreduce

我有一个包含 > 1000 万行的大文件。我想使用 MapReduce 获取重复的行。我怎么解决这个问题?感谢帮助

Bin*_*erd 5

您需要利用 MapReduce 的默认行为是基于公共键对值进行分组这一事实。

所以所需的基本步骤是:

  1. 将文件的每一行读入映射器,可能使用类似 TextInputFormat 的内容。
  2. 将输出 Key(Text 对象)设置为每行的值。值的内容并不重要。如果需要,您可以将其设置为 NullWritable。
  3. 在 reduce 检查为每个键分组的值的数量。如果您有多个值,您就知道您有一个重复值。
  4. 如果您只想要重复的值,请写出具有多个值的键。