2015-11-13 83 views
0

誰能幫我寫了合併這兩個文件,然後刪除重複記錄映射器和減速?的Hadoop MapReduce的計劃刪除重複記錄

這是兩個文本文件:

file1.txt 
2012-3-1a 
2012-3-2b 
2012-3-3c 
2012-3-4d 
2012-3-5a 
2012-3-6b 
2012-3-7c 
2012-3-3c 

和FILE2.TXT:

2012-3-1b 
2012-3-2a 
2012-3-3b 
2012-3-4d 
2012-3-5a 
2012-3-6c 
2012-3-7d 
2012-3-3c 

回答

2

簡單的字數統計程序將爲您完成這項工作。你需要做的唯一的變化,設置減速爲NullWritable.get()

0

有沒有在這兩個文件的公共密鑰,這有助於確定是否記錄匹配或不?如果是的話: 映射器輸入:標準的TextInputFormat 映射器的輸出鍵:公用密鑰和映射器的輸出值:全部記錄。 在減速機:它不會需要遍歷鍵只取1只價值寫的實例。

如果匹配或duplicacy可以得出結論:只有在完整記錄匹配:那麼 映射器輸入:標準的TextInputFormat 映射器的輸出鍵:整個記錄和映射器的輸出值:NullWritable。 在減速機:它不會被要求重複了鑰匙。只取一個Key的實例並將其寫爲Value。 減速機輸出鍵:減速機輸入鍵,減速機輸出值:空寫

+0

我只給出了上述兩個文本文件,並指示用Java編寫的映射器和減速器程序和編譯程序的輸出值,但我不知道該怎麼做。沒有共同的鑰匙。 – user5424164

+0

在這種情況下,如前面的評論所述,使用第二個選項:如果匹配或重複只能在匹配完整記錄時結束:則映射器輸入:標準TextInputFormat映射器的輸出鍵:整個記錄和映射器的輸出值:NullWritable。 Reducer:不需要迭代Keys。只取一個Key的實例並將其寫爲Value。減速機的輸出鍵:減速機輸入鍵,減速機的輸出值:NullWritable –