码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop的Shuffle阶段

时间:2020-03-20 00:45:41      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:format   http   环形缓冲   区号   链表   输入   临时文件   key   bsp   

原文:

https://www.toutiao.com/i6764683672772674062/

 

在进入Map之前,首先会将数据从HDFS中读取,进行处理,按照字节偏移量这种之前说的形式处理为K,V对的形式,进入Map阶段。

其中InputFormat可以认为是一种类的继承关系,最终通过调用read方法,生成K,V对,输入到Map中,此时Map接收到的数据就是这个K,V对

 

然后数据被OutputCollector收集到(OutputCollector负责收集map输出的K,V对)

 

然后进入一个环形缓存区,默认大小为100M的环形缓冲区,通过mr.sort.mb配置,保存大量的K,V对,可以认为它是个环形链表

 

然后进入Spill阶段

当内存中的数据量达到一定的阀值的时候,就会将数据写入本地磁盘(溢写到本地),在将数据写入磁盘之前需要对数据进行一次排序的操作,如果配置了combiner,还会将有相同分区号和key的数据进行排序

把所有溢出的临时文件进行一次合并操作,以确保一个MapTask最终只产生一个中间数据文件

 

然后数据进入Reduce阶段(最终图黄色是Reduce)

 

Hadoop的Shuffle阶段

标签:format   http   环形缓冲   区号   链表   输入   临时文件   key   bsp   

原文地址:https://www.cnblogs.com/bqwzy/p/12528451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!