首页 > 代码库 > Stage生成Task

Stage生成Task

 

一、stage 的处理过程

1、从下图可以看出stage是通过递归的形式,从开始依次提交每个stage,直到ResultStage。

     技术分享

     

 2、生成task的主要代码

     技术分享

 

 3、提交到taskScheduler

     技术分享

 

4、

     技术分享

 

二、每个stage生成的task的个数

 

    技术分享

 

    技术分享

    技术分享

    技术分享

    技术分享

 

从以上的几幅图不难发现task的数量其实只与rdd的partition的数量是一致的,所以每个stage的Task的个数其实早就已经确定。

而通过追踪 sc.textFile 这个方法得到partition是由core数和最小值2所确定的(如下图)。当然其他的RDD有不同的设定,但是可以知道的

是partition的数量在stage之前就确定,也就是说task的数量其实早已经确定。

    技术分享

 

 Task的具体情况,下次继续分解。

 

Stage生成Task