MapReduce的Shuffle和Sort阶段详解

MapReduce的Shuffle过程包括Map端和Reduce端,涉及输入、分区、溢写、合并等步骤。Map端Shuffle有输入、分区、排序与组合(Combine)以及溢写到磁盘的过程,而Reduce端则负责数据的复制与合并。Shuffle的主要目标是减少数据量,降低网络带宽消耗和磁盘IO影响。
摘要由CSDN通过智能技术生成

本文来自:http://blog.csdn.net/DianaCody/article/details/39502917

一、MapReduce 总体架构

        整体的Shuffle过程包含以下几个部分:MapShuffleSort阶段ReduceShuffle。即是说:Shuffle 过程横跨 map 和 reduce 两端,中间包含 sort 阶段,就是数据从 map task 输出到reduce task输入的这段过程。

-----------------------------------------------------------------------------------------------------------------------------

注意:sortcombine 是在 map 的,combine 提前的 reduce ,需要自己设置。

        combiner 是提前的 reducer ,同样需要用户设置 combiner,combiner 就是根据相同 key 来合并结果的。MapReduce 的术语中,reduce 只指 reduce 端执行从多个 map task 取数据做计算的过程。除 reduce 外,非正式地合并数据只能算做 combine(比如这里 map 端的提前合并 combine)。MapReduce 中将 Combiner 等同于 Reducer。

---------------------------------------------------------------------------------------------------------------------------

        官方给的文档中图为:其中分为 map 端 shuffle 和 reduce 端 shuffle ,这是总体的过程图,具体细节图例还需再在 map 和 reduce 两个阶段细分,详细图解见后文。这里先给出总体过程图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值