大数据学习笔记14:MapReduce处理流程二


 MapReduce处理流程二

 

1、另一个流程图


大数据学习笔记14:MapReduce处理流程二_第1张图片

 

       注意点:1.1、可以自定义 分区函数  控制分区行为

                      1.2、缓冲区默认排序算法为 快速排序

             

2、为什么要进行分区?

      为了实现并行处理。为了使后面多个 reduce能同时处理数据。

      这里分区的目的其实和inputformat 切分数据的 目的是相同的。

      inputformat  切分为 多个 input split ,每个map处理一个 input split  。

      分区则是使 每个 map的输出 ,逻辑上分成了多个片,每个片发送到 不同的 reduce进行处理。

     这里我们要想到  Hadoop 是分布式系统,是并行执行的 。

 

 

3、 

大数据学习笔记14:MapReduce处理流程二_第2张图片

 

         3.1    注意有一个 copy的过程---  我总感觉 这个copy 就像洗牌后的发牌

         3.2   reducer 处理前   先进行了  merge--合并。

         3.3    一个reducer  处理一个对应的分区  ----   这样多个 reducer 并行处理 加快了处理速度

 


 

 4、 一个实例程序的执行流程

 

 
大数据学习笔记14:MapReduce处理流程二_第3张图片
 

 
         4.1   shuffle   洗牌   --- 现实中我们洗牌是为了打乱顺序 ,这里的洗牌却是洗出了顺序。

 

 

 

你可能感兴趣的:(杂七杂八)