《Spark Streaming实时流式大数据处理实战》 ——3.4.2 Shuffle依赖(宽依赖Wide Depende

举报
华章计算机 发表于 2020/02/22 17:28:57 2020/02/22
【摘要】 本节书摘来自华章计算机《Spark Streaming实时流式大数据处理实战》 —— 书中第3章,第3.4.2节,作者是肖力涛 。

3.4.2  Shuffle依赖(宽依赖Wide Dependency)

  Shuffle有“洗牌、搅乱”的意思,这里所谓的Shuffle依赖也会打乱原RDD结构的操作。具体来说,父RDD中的分区可能会被多个子RDD分区使用。因为父RDD中一个分区内的数据会被分割并发送给子RDD的所有分区,因此Shuffle依赖也意味着父RDD与子RDD之间存在着Shuffle过程。几类常见的Shuffle依赖及其对应的转换操作如图3.5所示。

  同样,图3.5的P代表RDD中的多个分区,我们会发现对于Shuffle类操作而言,结果RDD中的每个分区可能会依赖多个父RDD中的分区。

  需要说明的是,依赖关系是RDD到RDD之间的一种映射关系,是两个RDD之间的依赖,如果在一次操作中涉及多个父RDD,也有可能同时包含窄依赖和Shuffle依赖,join操作如图3.6所示。

 image.png

图3.5  RDD宽依赖

 image.png

图3.6  宽、窄依赖并存的join操作

  我们会发现图3.6中的join操作,其中一个RDD是窄依赖,而另一个RDD是宽依赖,这就是join操作可能同时存在宽、窄依赖。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。