Spark shuffle中 reduce task是怎么拉取数据的?

reduce task 拉取数据

1.map task 执行完毕后会将计算状态以及磁盘小文件位置等信息分装到mapStatue对象中,然后由本进程中的MapOutPutTrackerWorker对象将mapStatus对象发送给Driver进程的MapOutPutTrackerMaster对象

2.在reduce task开始执行之前会先让本进程中的MapOutputTrackerWorker向Driver进程中的MapoutPutTrakcerMaster发动请求,请求磁盘小文件位置信息。

3.当所有的Map task执行完毕后,Driver进程中的MapOutPutTrackerMaster就掌握了所有的磁盘小文件的位置信息。此时MapOutPutTrackerMaster会告诉MapOutPutTrackerWorker磁盘小文件的位置信息.

4.完成之前的操作之后,就由ConnectionManager来链接node1和node2之间的信息。由BlockTransforService去Executor0所在的节点拉数据,默认会启动五个子线程。每次拉取的数据量不能超过48M(reduce task每次最多拉取48M数据,将拉来的数据存储到Executor内存的20%内存中).


注意
1.拉取数据的过程也是一个Master-Slave架构
Master:Driver进程中BlockManagerMaster:管理全局磁盘小文件个数
Driver:Executor进程中Block'Manager'Slave:管理局部磁盘小文件个数
2.BlockManager中几个常用的类
DiskStore:负责磁盘上数据的读写
MemStore:负责内存上数据的读写
ConntectManager:负责建立连接
BlockTransfoeService:负责数据的传输

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务...
    东皇Amrzs阅读 5,706评论 0 17
  • 1 数据倾斜调优 1.1 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spar...
    wisfern阅读 7,982评论 0 23
  • 场景 数据倾斜解决方案与shuffle类性能调优 分析 数据倾斜 有的时候,我们可能会遇到大数据计算中一个最棘手的...
    过江小卒阅读 8,821评论 0 9
  • 调优之前是将功能实现...然后算法优化,设计优化,再是spark调优!,需得一步一步来,不得直接越过,直接调优! ...
    终生学习丶阅读 10,910评论 0 12
  • 1 前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数...
    wisfern阅读 7,089评论 3 39

友情链接更多精彩内容