博客
关于我
【MapReduce】---- MR 框架原理 之 Shuffle机制
阅读量:329 次
发布时间:2019-03-04

本文共 581 字,大约阅读时间需要 1 分钟。


文章目录


♑ 定义

Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。


♑ Map方法之后Shuffle过程

在这里插入图片描述

主要包括以下几步:

   ♬ 分区

  • 在溢写之前对环形缓冲区中的数据集进行分区操作

   ♬ 排序

  • 在溢写之前对环形缓冲区中分区的数据集进行排序,按照分区进行

   ♬ Combiner(可选)

  • 在溢写到磁盘之前,如果是汇总操作,可以利用Combiner对数据进行分区合并,最终溢写到磁盘上

   ♬ 分区归并排序

  • 将分区上的数据集进行归并,同一分区上的数据集合并,排序(如果符合条件还可以继续进行Combiner合并)

   ♬ 压缩

  • 对处理好的数据进行压缩

   ♬ 写磁盘

  • 将压缩好的数据写到磁盘上,按分区输出


♑ Reduce方法之前Shuffle过程

在这里插入图片描述

主要包括以下几步:

   ♬ 拷贝

  • 将map处理输出的同一分区数据拷贝到内存中,若内存不够,溢出到磁盘中(同时开启一个RecuceTask来处理该分区的数据)

   ♬ 归并排序

  • 将内存和磁盘上的数据集进行归并,也就是在每个开启的ReduceTask中,对从不同MapTask中拉取过来的相同分区的数据进行合并,之后对每个ReduceTask上合并的总数据集再进行排序。

   ♬ 分组

  • 对归并好的数据按照相同的key进行分组,等待reduce()来对同组数据进行处理,也就是相同key的数据进入同一个reduce()方法。


转载地址:http://ckeq.baihongyu.com/

你可能感兴趣的文章
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS、SAN和DAS的区别
查看>>
NAS个人云存储服务器搭建
查看>>
NAT PAT故障排除实战指南:从原理到技巧的深度探索
查看>>
nat 网卡间数据包转发_你是不是从来没有了解过光纤网卡,它跟普通网卡有什么区别?...
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,解决动态域名解析难题
查看>>
natapp搭建外网服务器
查看>>
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
nat打洞原理和实现
查看>>
NAT技术
查看>>
NAT模式/路由模式/全路由模式 (转)
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT的全然分析及其UDP穿透的全然解决方式
查看>>
NAT类型与NAT模型详解
查看>>