2014-07-16 76 views
1

「MapReduce設計模式」手冊具有查找數據集中不同記錄的模式。這是算法:在Hadoop中選擇不同的記錄並使用組合器

map(key, record): 
    emit record, null 

reduce(key, records): 
    emit key 

在第66頁,它說:

的組合器,可以隨時在這個模式中使用,可以幫助如果 有大量重複的。

地圖階段發出記錄和NullWritable(它不寫在電線上)。 Combiner試圖減少什麼?沒有減少的記錄。

回答

2

它試圖減少地圖輸出中的重複項。

比方說,你必須在每一行字的文本數據:

John 
Adam 
John 
John 

家家都有John發送到減速機,如果你可以在地圖階段之後將它們組合只發送不點:

John 
Adam 

這對每個映射器都是不同的 - 因此,如果您的拆分中有相當數量的非獨特記錄,則會節省帶寬。