MapReduce的优化(MapShuffle的2个阶段、3个功能、2大优化)

本文深入解析MapReduce中的shuffle过程,包括其两个阶段:map端和reduce端的shuffle,并阐述了shuffle过程中的三个核心功能:分区、排序和分组。此外还介绍了两大优化措施:合并combiner以减少数据传输量及压缩compress来提高I/O效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MapReduce的shuffle
2个阶段:

map端(phase)的shuffle
reduce端(phase)的shuffle

3个功能:

分区
– 决定mapTask的输出的数据 给 那个 reduce task处理
排序
– 至少经过3次排序
分组
– 将相同key的value放入一个集合中

2大优化
map phase shuffle

合并combiner
在map端 进行了一次reduce聚合操作
并不是所有的MapReduce程序都可以设置combiner操作,
测试,一般符合结合律
压缩compress
压缩map输出 的 结果数据,减少网络IO和磁盘IO流

常见的压缩算法:Snappy、Lz4,Lzo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值