map 階段輸出 和 reduce階段的輸出 本質區別


其實,很容易理解,map 階段的 combiner和 reduce 有些類似,因此其實 map 階段是徹底能夠輸出滴。html

(Combiner是用reducer來定義的,多數的狀況下Combiner和reduce處理的是同一種邏輯,因此job.setCombinerClass()的參數能夠直接使用定義的reduce,固然也能夠單獨去定義一個有別於reduce的Combiner,繼承Reducer,寫法基本上定義reduce同樣。讓咱們看一下,加入Combiner以前的處理結果)web

紅色參考地址:http://www.01yun.com/web/20130329/286636.html網絡

可是: map 和 reduce 階段輸出有什麼區別呢?
性能

  1. map 是分發任務的過程,那麼必然會存在不少小文件塊,spa

    因此: 輸出必然文件塊多,可是性能好,由於不須要經過網絡傳輸到 reducehtm

2. 那麼 reduce 正好和 map 相反: 文件塊會減小,可是性能會差一些,由於須要網絡傳輸。繼承

相關文章
相關標籤/搜索