今天在寫一個MR的時候,用到了combiner。在使用過程中,遇到了一些問題,特此記錄一下。
Combiner分為兩種,一種是可插拔的,一種是不可插拔的。
可插拔的:Combiner和Reduce的處理邏輯是一樣的,可以直接使用Reduce類進行處理。如果去掉Combiner,不影響結果。
不可插拔:Combiner和Reduce的處理邏輯不一樣,如果去掉Combiner,會影響結果。
在使用不可插拔的Combiner過程中需要注意的是,其輸出的key和value要和Map輸出的key和value一致,要不然會報錯。