天天看点

RDD依赖关系

RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。

一般有shuffle过程即宽依赖,无shuffle过程就窄依赖但是窄依赖也有可能产生数据在网络传输。

RDD依赖关系

2.1、窄依赖

窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用任务可以在本地执行,不需要shuffle。

RDD依赖关系

常见算子:map flatmap filter union sample

2.2、宽依赖

宽依赖指的是多个子RDD的Partition会依赖同一个父RDD的Partition;除非父RDD是hash-partitioned, 需要shuffle。

RDD依赖关系

常见算子:groupByKey reduceByKey sortByKey join cartesian

继续阅读