Spark的宽依赖和窄依赖

Spark的宽窄依赖是决定任务执行效率的关键因素。窄依赖允许1:1或n:1的关系,无shuffle操作,而宽依赖涉及n:n关系,需要shuffle。宽依赖导致stage划分,任务串行执行,而窄依赖能实现并行计算,提高效率,并具有更高的容错性。理解这两者有助于优化Spark作业性能。
摘要由CSDN通过智能技术生成

如何区分宽窄依赖?
1:1或者n:1 无shuffle,是窄依赖,n:n有shuffle是宽依赖。
从父RDD到子RDD的角度可以区分开,父RDD1个分区到子RDD的多个分区是宽依赖,到1个分区是窄依赖,要是从子RDD到父RDD的角度则是没区别,看不清了。
为啥窄依赖没有shuffle,而宽依赖有shuffle呢,应该是跟这个1:1或者n:1 ,还是 n:n 有关系,n:n才需要等所有shuffle结束,所有依赖都满足,才会进行下一stage,窄依赖就不用shuffle,一个stage内的多task就可以了。
窄依赖不搞shuffle,还有一个原因就是合并算子链,形成管道,且容错高,单个task出错,只需要计算单个task,不需要重新计算整个任务。
实际上stage的划分既可以说是按照宽依赖来划分的,也可以说是按照shuffle来划分的,每个stage内部都是窄依赖,是可能形成管道的,窄依赖是并行的,宽依赖是串行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科学的N次方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值