小标
2018-12-24
来源 :
阅读 1215
评论 0
摘要:本文主要向大家介绍了【云计算】Spark之宽依赖和窄依赖对比,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
本文主要向大家介绍了【云计算】Spark之宽依赖和窄依赖对比,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
(1)血缘关系:
通过血缘关系,可以知道一个RDD是如何从父RDD计算过来的
A =map=> B =filter=> C
(2)窄依赖:一个父RDD的partition最多被子RDD中的partition使用一次(一父对应一子),窄依赖无shuffle
(3)宽依赖:
父RDD中的一个partition会被子RDD中的partition使用多次(一父多子)
宽依赖有shuffle,一个shuffle会拆成一个stage,2个shuffle拆成3个stage
以wordcount为例(reduceBykey是宽依赖,把stage拆为2个stage;stage序号从0开始,每个stage最后一个操作的名字作为整个stage的名字 ):
Java代码
sc.textFile("/in/1.txt").flatMap(_.split("\t")).map((_,1)).reduceByKey(_+_).collect
分析:
wordcount例子里,reduceByKey相当于把相同的key分到一个partition上去,然后在partition上做加和,
因为并不是同一个相同key都在一个partition里,可能在不同机器上,所以需要有shuffle过程,reduceByKey在shuffle前本地会做一个预聚合
(4)会引起shuffle的操作
(5)spark中的join是宽依赖还是窄依赖?
co-partitioned 是窄依赖,其他是宽依赖
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号