MR的shuffle过程

MapReduce在处理大数据时,首先通过mapper进行业务逻辑处理,然后分区并利用环形缓冲区进行溢写操作。溢写前进行字典序排序,使用快速排序。溢写文件在达到一定数量后进行归并排序。Combiner进行局部聚合,不影响最终结果。所有map任务完成后,启动reduceTask,它们从map端拉取数据,先存于内存,满后转存磁盘,最后进行归并排序和分组处理。
摘要由CSDN通过智能技术生成

1.mapper()方法做业务逻辑处理,然后将数据传到分区方法中,给数据标记好分区,将数据发送到环形缓冲区环形缓冲区默认100M,达到80%的调值进行溢写操作
2.溢写之前会进行排序,排序的规则是字典序排序,排序的手段呢是快排
溢写会产生很多溢写文件,溢写文件默认达到10个会进行合并,合并时采用的算法是归并排序
3.他可以进行combiner局部帮合的操作,前操是局部整合的结果不会对最终的结果有影响
4.等到所有的maptask运行完毕,会启动一定数量的reducetask,并告知reducetask读取数据的范围(也就是分区)
5.reduceTask发起拉取线程,去map端拉取数据,拉过来的数据会先存储到内存中,内存放不下了就放到磁盘中,等到数据拉取完毕之后会再进行一个归井排序然后再对数据进行分组,以组为单位将数据发送到reduce()方法中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值