<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 簡介 一種分布式的計算方式指定一個Map(映#x5C04;)函數,用來把一組鍵值對映射成一組新的鍵值對,指定并發的Reduce(歸約)函數,用來保證所有映射的鍵值對中的每一個共享相同的鍵組。 ## Pattern ![](https://box.kancloud.cn/2015-07-23_55b03fb5d08f8.png) ~~~ map: (K1, V1) → list(K2, V2) combine: (K2, list(V2)) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) ~~~ Map輸出格式和Reduce輸入格式一定是相同的 ## 基本流程 MapReduce主要是先讀取文件數據,然后進行Map處理,接著Reduce處理,最后把處理結果寫到文件中 ![](https://box.kancloud.cn/2015-07-23_55b03fb5dd65f.png) ## 詳細流程 ![](https://box.kancloud.cn/2015-07-23_55b03fb5e5375.png) ## 多節點下的流程 ![](https://box.kancloud.cn/2015-07-23_55b03fb6166a4.png) ## 主要過程 ![](https://box.kancloud.cn/2015-07-23_55b03fb62c712.png) ### Map Side ### Record reader 記錄閱讀器會翻譯由輸入格式生成的記錄,記錄閱讀器用于將數據解析給記錄,并不分析記錄自身。記錄讀取器的目的是將數據解析成記錄,但不分析記錄本身。它將數據以鍵值對的形式傳輸給mapper。通常鍵是位置信息,值是構成記錄的數據存儲塊.自定義記錄不在本文討論范圍之內. ### Map 在映射器中用戶提供的代碼稱為中間對。對于鍵值的具體定義是慎重的,因為定義對于分布式任務的完成具有重要意義.鍵決定了數據分類的依據,而值決定了處理器中的分析信息.本書的設計模式將會展示大量細節來解釋特定鍵值如何選擇. ### Shuffle and Sort ruduce任務以隨機和排序步驟開始。此步驟寫入輸出文件并下載到本地計算機。這些數據采用鍵進行排序以把等價密鑰組合到一起。 ### Reduce reducer采用分組數據作為輸入。該功能傳遞鍵和此鍵相關值的迭代器。可以采用多種方式來匯總、過濾或者合并數據。當ruduce功能完成,就會發送0個或多個鍵值對。 ### 輸出格式 輸出格式會轉換最終的鍵值對并寫入文件。默認情況下鍵和值以tab分割,各記錄以換行符分割。因此可以自定義更多輸出格式,最終數據會寫入HDFS。類似記錄讀取,自定義輸出格式不在本書范圍。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看