spark-宽依赖和窄依赖

Posted suwy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark-宽依赖和窄依赖相关的知识,希望对你有一定的参考价值。

一、窄依赖(Narrow Dependency,)

    即一个RDD,对它的父RDD,只有简单的一对一的依赖关系。也就是说, RDD的每个partition ,仅仅依赖于父RDD中的一个partition,父 RDD和子RDD的partition之间的对应关系,是一对一的!这种情况下,是简单的RDD之间的依赖关系,也被称之为窄依赖。

 

二、宽依赖(Shuffle Dependency)

    本质就是Shuffle,也就是说,每一个父RDD的partition中的数据,都可能会传输一部分到下一个RDD的每个partition中。此时就会出现,父RDD和子RDD的partition之间,具有交互综复杂的关系。那么,这种情况,就叫做两个RDD之间是宽依赖。同时,他们之间发生的,操作,是Shuffle,

技术分享图片

 

以上是关于spark-宽依赖和窄依赖的主要内容,如果未能解决你的问题,请参考以下文章

Spark shuffle 机制

Spark RDD理解

RDD血缘关系源码详解!

大数据之Spark:Spark面试(初级)

spark的宽依赖窄依赖

Spark——窄依赖和宽依赖