Spark RDD 宽窄依赖

RDD 宽窄依赖

  • RDD之间有一系列的依赖关系, 可分为窄依赖和宽依赖

    • 窄依赖
      • 从 RDD 的 parition 角度来看
      • 父 RRD 的 parition 和 子 RDD 的 parition 之间的关系是一对一的 (或 者是多对一的)。
      • 不会有 shuffle 产生
    • 宽依赖
      • 父 RRD 的 parition 和 子 RDD 的 parition 之间的关系是一对多的
      • 会产生shuffle
  • 理解图

    Spark RDD 宽窄依赖

  • 对stage(阶段)划分的影响

    • DAGSchedular 根据依赖类型切割RDD划分stage, 如果是宽依赖, 就进行切割, 并且递归查找其所有父类RDD

    • 示意图:

      Spark RDD 宽窄依赖

相关推荐