03_MapReduce框架原理_3.6 Shuffle机制(源码)

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了03_MapReduce框架原理_3.6 Shuffle机制(源码)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Hadoop
6. shuffle 机制 - (流程) 1. 什么是Shuffle&Shuffle的作用 1. Map方法之后,reduce方法之前的数据处理过程 称之为 Shuffle 2. 流程说明 1. MapTask 通过获取到的 切片对象和相对于的记录读取器 map()方法 处理数据 后的输出结果(key-value) 会输出到 内存缓冲区 2. 当 内存缓冲区 快满的时候,需要将缓冲区的数据 用一个 临时文件的方式 存储到磁盘 这个过程 叫做 溢写过程 临时文件 叫做 溢写文件 3. 当MapTask结束后再对磁盘中 所有的 溢写文件做合并,生成最终的输出文件 等待reduce task来拉取数据 这个过程 叫做 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. 缓冲区的大小 可以通过参数调整 参数 : mapreduce.task.io.sort.mb 默认 100M 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,请注明来意。