DAG的宽窄依赖?
窄依赖:父RDD的一个分区,全部将数据发给子RDD的一个分区
宽依赖:父RDD的一个分区,将数据发给子RDD的多个分区
宽依赖还有一个别名: shuffle
DAG调度器
工作内容:将逻辑的DAG图进行处理,最终得到逻辑上的Task划分
Task调度器
工作内容:基于DAG Scheduler的产出,来规划这些逻辑的task,应该在哪些物理的executor上运行,以及监控管理它们的运行
内存迭代计算?
Spark是怎么做内存计算的? DAG的作用? Stage阶段划分的作用?
Spark会产生DAG图
DAG图会基于分区和宽窄依赖关系划分阶段
一个阶段的内部都是窄依赖,窄依赖内,如果形成前后1:1的分区对应关系,就可以产生许多内存迭代计算的管道
这些内存迭代计算的管道,就是一个个具体的执行Task
一个Task是一个具体的线程,任务跑在一个线程内,就是走内存计算了.