前文:
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调优