程序笔记   发布时间:2022-07-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了03_MapReduce框架原理_3.6 Shuffle机制(源码)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Hadoop
@H_675_38@ 6. Shuffle 机制 - (流程) 1. 什么是Shuffle&Shuffle的作用 1. Map方法之后,Reduce方法之前的数据处理过程 称之为 Shuffle 2. 流程说明 1. MapTask 通过获取到的 切片对象和相对于的记录读取器 map()方法 处理数据 后的输出结果(key-value) 会输出到 内存缓冲区 2. 当 内存缓冲区 快满的时候,需要将缓冲区的数据 用一个 临时文件的方式 存储到磁盘 这个过程 叫做 溢写过程 临时文件 叫做 溢写文件 3. 当MapTask结束后再对磁盘中 所有的 溢写文件做合并,生成最终的输出文件 等待reduce task来拉取数据 这个过程 叫做 @H_719_82@merge 4. 在溢出过程及合并过程中,都要调用Partitioner进行分区和针对key排序 5. ReduCETask 根据自己分配到的分区号,去各自MapTask机器上拉取相应的结果分区数据 6. ReduCETask 会拉取同一个分区的数据(来自不同MapTask的结果文件) ReduCETask 会将这些文件在进行合并(归并排序) 7. ReduCETask 合并成大文件后,Shuffle 过程也就结束了 8. ReduCETask 逻辑运算过程,遍历相同的key,并对value做reduce操作 3. 注意事项 1. Shuffle 缓冲区的大小会影响 MapReduce程序的执行效率 缓冲区越大,磁盘io的次数越少,执行速度就越快 2. 缓冲区的大小 可以通过参数调整 参数 : @H_719_82@mapreduce.task.io.sort.mb 默认 100M @H_80_197@ 2. map task的输出结果有效地传送到reduce端
点击查看Shuffle流程图 ![](https://img2020.cnblogs.com/blog/2018294/202112/2018294-20211222163644539-412284594.png) ![](https://img2020.cnblogs.com/blog/2018294/202112/2018294-20211222163705138-138709063.png)

大佬总结

以上是大佬教程为你收集整理的03_MapReduce框架原理_3.6 Shuffle机制(源码)全部内容,希望文章能够帮你解决03_MapReduce框架原理_3.6 Shuffle机制(源码)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。