spark 任务调度流程.png

    核心类:
    1.DAGScheduler:整个作业的构建和调度,包括对stage的创建和提交。
    2.TaskScheduler:负责任务集(TaskSet)的创建和提交。
    3.SchedulableBuilder:任务提交的队列,有FIFO和Fair两种。
    4.SchedulerBackend:负责从调度队列里面取任务、调度任务。
    5.ExecutorBackend:负责接收任务执行请求,将接收到的任务交给executor执行
    6.Executor:负责任务的执行,底层是通过线程池执行TaskRunner。