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