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

MapReduce Shuffle过程的简单理解

时间:2019-11-18 15:42:09      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:磁盘   自己   nbsp   key   转化   pre   结果   逻辑   src   

  Shuffle过程是MapReduce整个工作流程的核心环节。

  Shuffle过程是指对Map输出结果进行分区、排序、合并、归并处理后输入Reduce的过程。分为Map端和Reduce端两个部分。

Map端Shuffle过程的理解:

  数据经过Map的逻辑处理后,Map将他们输出,由Shuffle进行排序、合并、归并,最终将数据转化为大磁盘文件,数据被划分为R个分区,R为Reduce任务的数量。

  所谓合并:将具有相同key值value加起来,即<key1,1>  <key1,1>  =====>     <key1,2>

  所谓归并:将具有相同key值的键值对被归并为新的键值对,即<k1,v1> , <k1,v2> , <k1,v3> , <k1,v4>   =====>   <k1,<v1,v2,v3,v4>>

Reduce端Shuffle过程理解:

  Reduce端的Shuffle过程是从大磁盘文件领取不同Map端的属于自己的数据文件,然后归并,在交给Reduce逻辑进行处理。

  如图:

  技术图片

 

 

    

MapReduce Shuffle过程的简单理解

标签:磁盘   自己   nbsp   key   转化   pre   结果   逻辑   src   

原文地址:https://www.cnblogs.com/jmdd/p/11882375.html

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