作业(Job):RDD 中由行动操作所生成的一个或多个调度阶段
调度阶段(Stage):每个作业会因为 RDD 间的依赖关系拆分成多组任务集合,称为调度阶段,也叫做任务集(TaskSet)。高度阶段的划分是由 DAGScheduler 来划分的,高度阶段有 Shuffle Map Stage 和 Result Stage 两种
任务(Task):分发到 Executor 上的工作任务,是 Spark 实际执行应用的最小单元
DAGScheduler:面向调度阶段的任务调度器,负责接收 Spark 应用提交的作业,根据 RDD 的依赖关系划分调度阶段,并提交调度阶段给 TaskScheduler
TaskScheduler:面向任务的调度器,接受 DAGScheduler 提交过来的调度阶段,然后以把任务分发到 Work 节点运行,由 Worker 节点的 Executor 来运行该任务