“戏”说spark---spark Shuffle详解(二)
在“戏”说spark---spark Shuffle详解(一)一文中,我们详细的介绍了Spark中两种ShuffleManager,HashShuffleManager和SortShuffleManager,那么在Shuffle中,Reduce节点是怎么知道map端溢写文件的位置的呢?Reduce端是怎么拉取数据的呢?
我们先再来回顾下wordCount的细节:
stage的划分:Stage之间形成Shuffle,Stage中的taskSet的pipline的计算模式
WordCount的资源调度和任务调度:
那么遇到Shuffle,spark是怎么进行文件定位和数据拉取的呢?这里我们要介绍mapOutputTracker和BlockManager两个组件,他们负责追踪磁盘小文件的地址和管理块文件
Spark Shuffle组件
图解:
spark是怎么进行文件定位?
mapOutputTracker组件:管理磁盘小文件的地址
主从架构: