mapReduce的shuffle流程

在这里插入图片描述
1.经过切片之后的数据进入map端,然后将数据处理。
2.将数据拉取到环形缓冲区,大小默认为100M,当达到80%的时候,进行溢写到本地磁盘,剩下的20%进行继续拉取数据。
3.在环形缓冲区将数据溢写时,对数据进行快速排序,及分区处理。
4.经过上面处理后的数据合并为一个大的文件并进行归并排序,
5.当有一个maptask执行完毕后,reducetask启动。将归并排序后的数据拉取到reducetask任务中,此时的数据内部有序,外部是无序的。(因为每个maptask里进行了快速排序所以是内部有序,而拉取过来的数据是多个maptask的任务的数据所以是外部无序的)进行归并排序
6.将相同key的value写成一个集合,方便后的重写Reduce方法的reduce端进行操作,因为方法里有个迭代器。
7.reduce端将数据处理,再传出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值