3

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

4

1 回答 1

5

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

所以所需的基本步骤是:

  1. 将文件的每一行读入映射器,可能使用 TextInputFormat 之类的东西。
  2. 将输出键(文本对象)设置为每一行的值。值的内容并不重要。如果需要,您可以将其设置为 NullWritable。
  3. 在 reduce 中检查为每个键分组的值的数量。如果你有多个值,你就知道你有一个重复值。
  4. 如果您只想要重复的值,请写出具有多个值的键。
于 2012-07-31T02:45:59.590 回答