聊聊spark中的宽依赖和窄依赖
窄依赖相对简单,先说说窄依赖,窄依赖是指,父RDD的每个分区到子RDD的分区,道路是非常窄的,窄到什么程度,也就是说父RDD每个分区中的数据到子RDD分别只有一条道路可走,意思是说,父RDD的同一个分区里的数据只能传输到子RDD的一个分区。这就是所谓的窄依赖。
同理,宽依赖就是父RDD每个分区到子RDD的分区,道路是非常宽的。聪明的人应该很快想到。没错,意思就是说父RDD每个分区中的数据,可能一部分传输到子RDD的一个分区,一部分传输到子RDD的另外一个分区。
具体情况请看图。那么为什么spark需要定义这两个概念呢?因为这两个概念非常重要,涉及到spark的容错机制和spark的shuffle过程。我们下回在做具体分析。