2012-07-31 57 views

回答

4

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

因此所需的基本步骤是:

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

尊敬的二元书呆子 感谢您的帮助,如果我使用行作为关键,我无法获取重复行的数量并打印所有重复值。 – 2012-07-31 03:04:43

+1

请记住,值是根据具有相同的密钥进行分组的。所以,如果你有重复的行(键),你会看到多个值,这就是你将如何识别重复的行。这是一个非常标准的模式,用于这种事情。 – 2012-07-31 03:10:04

+0

谢谢二元书呆子。 – 2012-07-31 04:04:37