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 类继承实例