Spark程序, 遇到一个action算子, 就会产生一个Job的任务, 首先就会先SparkContext对象, 同时在其底层也会创建DAGScheduler 和 TaskScheduler
首先DAGScheduler负责生成DAG的执行流程图, 划分有多少个阶段, 并且确定每个阶段内部有多少个线程, 然后将每个阶段的线程放置到一个TaskSet中,然后提交到TaskScheduler
接着TaskScheduler接收到TaskSet后,然后依次遍历每一个阶段的TaskSet, 将其尽可能均衡分配给对应的
executor来运行, 从而完成所有的阶段的执行操作
最后Driver负责任务的监控管理即可....

Spark在遇到action算子时会触发Job任务,DAGScheduler构建执行流程图并划分阶段,TaskScheduler负责TaskSet的均衡分配给executor执行,Driver进行任务监控。
1351

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



