spark四 依赖和shuffle

本文介绍了Spark中RDD的概念及其依赖关系,包括窄依赖和宽依赖的特点与区别。详细解释了依赖如何帮助Spark在数据丢失时进行高效恢复,并探讨了shuffle操作在宽依赖中的作用。

依赖(血缘)的作用

RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(即血统,依赖)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。

spark的宽窄依赖

RDD和依赖的父RDD关系有两种,就是宽依赖和窄依赖

  • 宽依赖: 多个子RDD的partition会依赖同一个父RDD的partition
  • 窄依赖:指的是每一个父RDD的Partition最多被子RDD的一个Partition使用 (独生子女)

当某个节点故障,spark对数据进行重新计算’

  • 窄依赖: 一个父RDD值对应一个子RDD的分区,只需要计算和丢失的子RDD对应的父RDD即可,这个重算对数据利用率100%
  • 宽依赖: 一部分数据用于恢复丢失的RDD,而另外的对应其他未丢失的部分,照成了多余的计算
    在这里插入图片描述

spark shuffle

算子之间发生宽依赖

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

orange大数据技术探索者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值