stage划分原理剖析

以最常见的wordcount为例首先是整理如下图所示:

执行到此图右上角处形成tuple(key,1)结果的时候,接着就会执行reducebykey操作,其实会使用hashpartitioner,将每个key写入对应的partition的本地磁盘文件中,左下角的mappartitionsRDD其实就代表了本地文件的RDD,再接着我们看下这个mappartitionsRDD就会变成如下图:

这样的一个图就是一个task的文件其他的同样会有这样的一个个的磁盘文件如下图

在之后就是shuffleRDD

如上面的右图,会从左侧的各个mappartitionsRDD拉取数据汇总到一起。对每个partition的数据按照key进行聚合。其实说白了stage的划分就是在shuffleRDD的左侧向前是一个stage0从shuffleRDD(包含)开始算作stage1,其实在说白了就是shufflewrite分到上一个stage,shuffleread分到下一个stage。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值