1. 程式人生 > >Hadoop之Combiners編程

Hadoop之Combiners編程

cer 大量 使用 ges 一個 分享 類型 log .com

每一個map可能會產生大量的輸出,combiner的作用就是在map端對輸出先做一次合並,以減少傳輸到reducer的數據量。 combiner最基本是實現本地key的歸並,combiner具有類似本地的reduce功能。 如果不用combiner,那麽,所有的結果都是reduce完成,效率會相對低下。使用combiner,先完成的map會在本地聚合,提升速度。 註意:Combiner的輸出是Reducer的輸入,如果Combiner是可插拔的,添加Combiner絕不能改變最終的計算結果。所以Combiner只應該用於那種Reduce的輸入key/value與輸出key/value類型完全一致,且不影響最終結果的場景。比如累加,最大值等。 實際上,combiner就在map端的一個reducer。執行過程如下: 技術分享技術分享

Hadoop之Combiners編程