整个程序sparkContext调度的
DAGScheduler
DAG调度
DAG:有向无环图
每个job划分为多个stage(阶段)
(a)倒推法划分 -栈
从Job的最后一个RDD向前推依赖关系
(b)判定子RDD和父RDD之间的依赖关系
宽依赖,产生shuffle,划分stage
TaskScheduler
task的调度
调度各个Stage中Task的执行,按照从前往后顺序执行stage中的task即可,
task放到executor中执行。
stage分成2中
shuffleMapStage
除去最后一个Stage中其他stage
每个stage中的task产生的结果,类似于MapTask一样
resultStage
job 中的最后一个,产生结果数据,类似于MapReduce中reduceTask
10个executor,每个executor有10GB内存,10core,整个application可以同时运行多少个task数目
10*10
本文深入探讨了Spark中DAGScheduler与TaskScheduler的工作原理,包括如何通过倒推法划分Stage,判定宽窄依赖,以及如何调度Task执行。此外,还分析了不同类型的Stage及其在数据处理流程中的角色。
1633

被折叠的 条评论
为什么被折叠?



