Spark:宽依赖和窄依赖

博客介绍了RDD的宽依赖和窄依赖。站在父RDD角度,窄依赖是一对一,宽依赖是一对多。宽依赖指父RDD分区被子RDD多个分区使用,如groupByKey等操作,会产生shuffle;窄依赖指父RDD分区只被子RDD一个分区使用,如map等操作。join操作分窄依赖和宽依赖两种情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

站在父RDD角度 窄依赖:一对一

站在父RDD角度 宽依赖:一对多

宽依赖和窄依赖:

 

宽依赖:父RDD的分区被子RDD的多个分区使用   例如 groupByKey、reduceByKey、sortByKey等操作会产生宽依赖,会产生shuffle

窄依赖:父RDD的每个分区都只被子RDD的一个分区使用  例如map、filter、union等操作会产生窄依赖

 

注意:join操作有两种情况:如果两个RDD在进行join操作时,一个RDD的partition仅仅和另一个RDD中已知个数的Partition进行join,那么这种类型的join操作就是窄依赖,例如图1中左半部分的join操作(join with inputsco-partitioned);其它情况的join操作就是宽依赖,例如图1中右半部分的join操作(join with inputsnot co-partitioned),由于是需要父RDD的所有partition进行join的转换,这就涉及到了shuffle,因此这种类型的join操作也是宽依赖。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值