大家好,欢迎来到IT知识分享网。
Hadoop运行机制理解心得
- Shuffle过程
- Map端Shuffle
- Spill:将MapTask处理好的数据写入磁盘
- 所有MapTask的数据会先进行分区标记
- 所有标记完成的数据会被写入一个环形缓冲区【内存:100M】
- 当缓冲区达到存储阈值80%,这部分就被锁定,准备溢写
- 对着80%中的K2V2进行排序:相同分区的数据放在一起
- 内存:快排
- 将这部分数据写入磁盘变成小文件
- 最终每个MapTask会产生很多个有序的小文件
- Merge:将每个MapTask对应的所有小文件进行合并成一个大文件
- 合并排序:归并排序:基于有序文件的合并排序
- 每个MapTask得到一个整体有序的大文件
- MapTask程序结束通知程序管理者APPMaster,APPMaster会通知ReduceTask
- Spill:将MapTask处理好的数据写入磁盘
- Reduce端SHuffle
- Merge:每个ReduceTask到每个MapTask取属于自己的数据
- 合并排序:将所有属于自己的数据进行合并排序
- 归并排序
- 合并排序:将所有属于自己的数据进行合并排序
- 最终实现每个ReduceTask中的数据是整体有序的,实现分组
- Merge:每个ReduceTask到每个MapTask取属于自己的数据
- 思考:自定义分组:订单id,排序比较器:订单价格
Order_0000001 Pdt_01 222.8 Order_0000001 Pdt_05 25.8 Order_00
- Map端Shuffle
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/116030.html