combiner函式

weixin_34402408發表於2018-03-26

job.setCombinerClass(TxtReducer.class);
接受的也是一個自定義的Reducer類,它的作用是在Map類執行結束後,預先執行一次小規模的Reducer操作,從而實現簡單的資料合併。

合併方法屬於一種優化方案,所以hadoop無法確定針對map任務輸出中任一條記錄需要呼叫多少次合併方法。0次,1次,或者多次,Reduce的結果都應該是一致的。

Combiner是通過Reducer類來定義的。並非所有的情景都適用Combiner,求最大可以,求平均不可以,影響結果。

相關文章