MapReduce(四):shuffer原理
1、map輸出過程:
如果沒有reduce階段,則直接輸出到hdfs上,如果有有reduce作業,則每個map方法的輸出在寫磁碟前線在記憶體中快取。每個map task都有一個環狀的記憶體緩衝區,儲存著map的輸出結果,預設100m,在寫磁碟時,根據reduce的數量把資料劃分為相應的分割槽,在每個分割槽中資料進行內排序。在每次當緩衝區快滿的時候由一個獨立的執行緒將緩衝區的資料以一個溢位檔案的方式存放到磁碟,當整個map task結束後再對磁碟中這個map task產生的所有溢位檔案做合併,被合併成已分割槽且已排序的輸出檔案。然後等待reduce task來拉資料
2、reducer如何知道要從哪個tasktracker取得map輸出呢?
map任務成功完成以後,他們會通知其父tasktracker狀態已更新,然後taskTracker進而通知jobTracker。這些通知在前面的心跳機制中傳輸。
因此,對於指定作業,jobTracker知道map輸出和taskTracker之間的對映關係。reducer中的一個執行緒定期詢問jobTracher以便獲取map輸出的位置,
直到它獲得所有輸出位置。
相關文章
- Hadoop 學習系列(四)之 MapReduce 原理講解Hadoop
- MapReduce工作原理流程簡介
- [hadoop]mapreduce原理簡述Hadoop
- MapReduce原理與設計思想
- MapReduce程式設計(四) 求均值程式設計
- MapReduce原理及簡單實現
- 第四篇:MapReduce計算模型模型
- 大資料入門:MapReduce基本原理大資料
- 《Hadoop權威指南》-- mapreduce原理讀後感Hadoop
- Hadoop學習第四天--MapReduce提交過程Hadoop
- Hadoop框架:MapReduce基本原理和入門案例Hadoop框架
- 大資料 - MapReduce:從原理到實戰的全面指南大資料
- MapReduce V2---Yarn的架構及其執行原理Yarn架構
- 大資料學習開發技術:MapReduce執行原理大資料
- 四、Synchronized與Lock原理synchronized
- MapReduce初探
- MapReduce理解
- 支援向量機原理(四)SMO演算法原理演算法
- WebAssembly 系列(四)WebAssembly 工作原理Web
- 大型資料集處理之道:深入瞭解Hadoop及MapReduce原理Hadoop
- MapReduce: 提高MapReduce效能的七點建議[譯]
- 大資料系列分享第四期:《MapReduce分散式計算框架》大資料分散式框架
- TCP四次揮手原理TCP
- 四. RxJava之基本原理RxJava
- MapReduce 簡介
- MapReduce之topN
- MapReduce InputFormat——DBInputFormatORM
- Mongodb MapReduce使用MongoDB
- Lab 1: MapReduce
- Elasticsearch核心技術(四):索引原理分析Elasticsearch索引
- MapReduce 示例:減少 Hadoop MapReduce 中的側連線Hadoop
- MapReduce執行流程
- MapReduce工作流程
- mapreduce框架詳解框架
- MapReduce模型講解模型
- MapReduce&&HadoopHadoop
- MapReduce InputFormat之FileInputFormatORM
- Docker 入門系列四:Dockerfile-映象原理Docker