大数据之-Hadoop3.x_MapReduce_排序概述---大数据之hadoop3.x工作笔记0114

本文介绍了Hadoop3.x中的MapReduce排序过程,包括Map阶段的分区快排、溢写前的排序,以及Reduce阶段的归并排序。默认情况下,MapReduce会对数据进行字典顺序的快速排序,确保每个分区文件内部有序。通过设置reduceTask数量为1可实现全排序。此外,还讨论了辅助排序和二次排序的概念,允许自定义排序规则。最后提到了重写compareTo接口以实现特定排序需求,并推荐了技术交流平台。

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

1.看MapReduce的排序,我们先看一下,map方法之后 ,数据整理以后会,进入环形缓冲区,然后

环形缓冲区中的数据满了以后,多于百分之80的时候,会进行数据溢写,数据溢写之前会进行排序对吧,可以看到分区内的数据会进行分区快排,快排以后,然后会一些到文件,然后会再对这个区内有序的文件会再进行归并排序.上面的map阶段的排序.

2.然后我们再看在reduce阶段,会先把map阶段整理好的数据,拉取过来,然后,拉取的动作是reduceTask完成的,然后拉取以后,因为有可能是从不同的分区,也就是不同的mapTask中拉取

过来的,所以,reduceTask又对拉取过来的数据进行了一次归并排序,当然归并排序以后,还可以对数据进行一次分组排序, 也可以我们自定义分组排序,这个后面再说吧.经过这些排序就可以交给reducer进行数据处理了.

3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值