宽依赖和窄依赖_Spark术语解释及宽窄依赖执行原理,代码分析

1. 术语解释

00b2308f7d2c6f69f239301a74b02c7c.png

2. 窄依赖和宽依赖:

RDD之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖。

窄依赖:

父RDD和子RDD partition之间的关系是一对一的。或者父RDD一个partition只对应一个子RDD的partition情况下的父RDD和子RDD partition关系是多对一的。不会有shuffle的产生。

宽依赖:

父RDD与子RDD partition之间的关系是一对多。会有shuffle的产生。

宽窄依赖图理解:

04a448504e75434b2d8c2e8e6bf7cd34.png

632868ddc55cc8cec39cfce170ef581d.png

3. Stage

Spark任务会根据RDD之间的依赖关系,形成一个DAG有向无环图,DAG会提交给DAGScheduler,DAGScheduler会把DAG划分相互依赖的多个stage,划分stage的依据就是RDD之间的宽窄依赖。

遇到宽依赖就划分stage,每个stage包含一个或多个task任务。

然后将这些task以taskSet的形式提交给TaskScheduler运行。

stage是由一组并行的task组成。

stage切割规则:

切割规则:从后往前,遇到宽依赖就切割stage。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值