把stage生成的每个task创建一个taskset对象

双重for循环,遍历所有taskset,以及每种本地化级别

本地化级别有:

1.process_local:进程本地化RDD的partition和task进入同一个executor中,速度最快

2.node_local:RDD的partition和task不在一个executor上,但是在一个worker上

3.NO_PERF:没有所谓的本地化级别

4.RACK_LOCAL:机架本地化,至少RDD的partition和task在一个机架上

5.任意本地化级别

task优先选择最优的本地化级别

调用tasksetmanager的resourceOffer方法,去找到在这个executor上,哪些task可以启动,

放入taskset数组给指定的executor启动task