- 2024-02-21Spark中RDD阶段划分
分析源码步骤:第一步程序入口: 第二步一直查看runjob方法,可以看出collect()是RDD行动算子,与Job运行提交相关rdd.scala sparkcontext.scala sparkcontext.scala sparkcontext.scala 第三步runJob()与DAG调度有关sparkcontext.scala第四步runJob()核心代码-
- 2024-01-131.13学习进度
初始化DAGScheduler和TaskScheduler调度器,SparkDeploySchedulerBackend,以及在其内部启动DriverEndpoint和ClientEndpoint。 其中: ClientEndpoint:用于向Master注册应用程序 DriverEndpoint:用于发送任务给work中的executor
- 2023-11-26DAGScheduler
https://zhuanlan.zhihu.com/p/165158261 具体来说DAGScheduler的功能如下:1.划分和创建Stage:根据RDD之间的依赖类型(窄依赖或宽依赖),为每个Job划分和创建Stage,多个Stage之间相互依赖,形成一个DAG(有向无环图)。2.决定运行Task的最佳位置:根据RDD的依赖关系,缓存或Shuffling数据的