前文:
MapReduce作爲分佈式計算框架,用於計算海量數據。
一、Yarn的概念
目的:將執行MR任務中資源管理和作業調度分離。
1、Yarn
2、Yarn的架構節點
3、Yarn執行MR
二、不同版本MR執行流程
1、Hadoop1.0
2、Hadoop2.0
三、計算流程
1、
2、Shuffle過程
注1:Hadoop和Spark的shuffle過程的區別
(1)Hadoop:map端保存分片數據,通過網絡收集到reduce端
(2)Spark:在DAGSchedular劃分Stage的時候產生,TaskSchedule要分發Stage到各個worker的executor,減少shuffle可以提高性能
注2:採用的排序算法
溢寫過程中生成File使用快速排序,合併文件使用歸併排序。
3、小文件過多處理
4、數據傾斜
5、MapReduce實現join操作
5、二次排序:實現接口,重寫compareTo();
6、MR調優