摘要:
本课主题 Broadcast 运行原理图 Broadcast 源码解析 Broadcast 运行原理图 Broadcast 就是将数据从一个节点发送到其他的节点上; 例如 Driver 上有一张表,而 Executor 中的每个并行执行的Task (100万个Task) 都要查询这张表的话,那我们通 阅读全文
摘要:
本课主题 Task执行内幕与结果处理解密 引言 这一章我们主要关心的是 Task 是怎样被计算的以及结果是怎么被处理的 了解 Task 是怎样被计算的以及结果是怎么被处理的 Task 执行原理流程图 [下图是Task执行原理流程图] ShuffleMapTask: ShuffleMapTask 在计 阅读全文
摘要:
本课主题 通过 Spark-shell 窥探程序运行时的状况 TaskScheduler 与 SchedulerBackend 之间的关系 FIFO 与 FAIR 两种调度模式彻底解密 Task 数据本地性资源分配源码实现 引言 TaskScheduler 是 Spark 整个调度的底层调度器,底层 阅读全文
摘要:
本课主题 打通 Spark 系统运行内幕机制循环流程 引言 通过 DAGScheduelr 面向整个 Job,然后划分成不同的 Stage,Stage 是从后往前划分的,执行的时候是從前往后执行的,每个 Stage 内部有一系列任务,前面有分享过,任务是并行计算啦,这是并行计算的逻辑是完全相同的,只 阅读全文
摘要:
本课主题 Job Stage 划分算法解密 Task 最佳位置算法实现解密 引言 作业调度的划分算法以及 Task 的最佳计算位置的算法,因为 Stage 的划分是DAGScheduler 工作的核心,这也是关系到整个作业有集群中该怎么运行;其次就是数据本地性,Spark 一般的代码都是链式表达的, 阅读全文
摘要:
Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide dependency, 也称 shuffle dependen 阅读全文
摘要:
本课主题 Spark Executor 工作原理图 ExecutorBackend 注册源码鉴赏和 Executor 实例化内幕 Executor 具体是如何工作的 Spark Executor 工作原理图 第一步:Master 发指令给 Worker 启动 Executor; 第二步:Worker 阅读全文
摘要:
本课主题 Spark Worker 原理 Worker 启动 Driver 源码鉴赏 Worker 启动 Executor 源码鉴赏 Worker 与 Master 的交互关系 Spark Worker 原理图 Worker 启动 Driver 源码鉴赏 当Driver 的状态改变的时候 Maste 阅读全文
摘要:
本课主题 Master 资源调度的源码鉴赏 资源调度管理 Master 资源调度的源码鉴赏 当前 Master 必需是 Alive 的方式才可以进行资源调度,一开始的时候会判断一下状态,如果不是 Alive 的状态会直接返回,也就是 StandByMaster 不会进行 Application 的资 阅读全文
摘要:
Master的注册机制和状态管理解密 阅读全文