Spark——Job逻辑执行图

本文介绍了Spark Job的执行逻辑,详细解析了从数据源获取数据创建RDD开始,经过transformation操作,最终通过action得到结果的过程。具体讨论了union、groupByKey、reduceByKey、distinct、cogroup、intersection、join、sortByKey、cartesian、coalesce和repartition等操作的数据依赖图和计算过程。
摘要由CSDN通过智能技术生成

Job逻辑执行图


典型的Job逻辑执行图如上所示,经过下面四个步骤可以得到最终执行结果:
1.从数据源(可以是本地file,内存数据结构, HDFS,HBase等)读取数据创建最初的RDD。
2.对RDD进行一系列的transformation()操作,每一个transformation()会产生一个或多个包含不同类型RDD。
3.对最后的final RDD进行action()操作,每个partition计算后产生结果result。
4.将result回送到driver端,进行最后的f(list[result])计算。

  一些典型的transformation()的计算过程及数据依赖图

1) union(otherRDD)



union()将两个RDD简单合并在一起,不改变partition里面的数据。没有shuffle过程。该操作可以用来处理来自多个数据源的日志文件,若输入的RDD中有重复数据,Spark的union()也会包含这些重复数据(如有必要,可用distinct()去重)

2) groupByKey(numPartitions)


groupByKey()只需要将Key相同的records聚合在一起,一个简单的shuffle过程就可以完成。ShuffledRDD中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值