2012-07-31 56 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