RDD依赖关系

【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

    推荐阅读