首页  

spark RDD Stage 划分     所属分类 spark 浏览量 678
DAG  Directed Acyclic Graph 有向无环图 
数据转换执行的过程   RDD执行的流程

RDD 通过一系列的转换操作 形成 DAG 

通过 SparkContext 创建 RDD
执行 Action 操作  形成一个完整的 DAG

一个 Spark 程序可以有多个 DAG  
一个Action 操作 对应一个 DAG
 
一个 DAG 可以有多个 Stage ,根据宽依赖进行划分
一个 Stage 可以有多个 Task 并行执行  
task数=分区数

reduceByKey 是一个典型的宽依赖

hdfsfile  textFile  flatMap map  reduceByKey  
以宽依赖为边界将其前后划分成不同的 Stage

划分 Stage  进行 并行计算

一个复杂的业务逻辑如果有 shuffle
那么前一阶段产生结果后,才能执行下一个阶段
下一个阶段的计算要依赖上一个阶段的数据
根据 宽依赖  划分成多个 Stage/阶段, 
同一个 Stage 中,会有多个算子操作,形成一个 pipeline 流水线,流水线内的多个平行的分区可以并行执行

宽依赖 shuffle  

根据 宽依赖 使用 回溯算法  划分 Stage 
从后往前,遇到宽依赖就断开,遇到窄依赖就把当前的 RDD 加入到当前的 stage 中

上一篇     下一篇
spark RDD 持久化 缓存

spark RDD Checkpoint 容错机制

spark RDD 窄依赖 和 宽依赖

sbt JVM 参数设置

为何要收集整理创作技术段子

scala 类继承实例