Advertisement

DAGScheduler 详解

阅读量:

文章目录

  • 概述
    • 基本概念
    • 主要功能
    • DAGScheduler类说明

Job 提交, 阶段划分与提交, 阶段划分, 创建 ResultStage, 获取或创建父 Stage 列表, 获取 RDD 的所有 shuffle 依赖列表, 获取或构建 ShuffleMapStage 列表, 收集缺少的祖先 shuffle 依赖列表

stage的状态更新如下:
- 更新ResultStage的状态
- 遍历当前stage的所有父级stage,并收集尚未完成的任务
- 计算并提交当前阶段的所有待处理任务
- 将该stage标记为已完成状态
- 递归地更新所有子级stage的状态

  • 参考文章
DAGScheduler思维导图

概述

在spark中调度器(Scheduler)有两种:

  • TaskScheduler(基础型调度器接口):主要负责每个具体Task的实际执行操作。
    • DAGScheduler(高级型调度器接口):该系统负责将每个Task划分为各个阶段,并根据各阶段间的关联关系

全部评论 (0)

还没有任何评论哟~