task分配算法核心原理描述
把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
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。