shuffle缓存,跳过stage

本文解释了为何在Spark中重复执行相同操作时速度会加快。关键在于Spark会将shuffle后的结果缓存在磁盘上,再次执行时可以跳过之前的计算过程。即使缓存丢失,Spark也会重新计算shuffle过程以确保任务完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么有时候 触发多次action的时候,后边的会比前边的快。

比如 wordcount,第一次  collect的时候 6秒 第二次collect只需要3秒 为什么????

因为,spark在shuffle真正触发的时候,会把shuffle结果缓存到磁盘(/tmp/spark**********/****mgr/********下),下次action的时候,shuffle之前的数据就不需要执行了,就会被skip掉,所以变快了。

那如果,tmp下的缓存数据丢失了呢? spark会报错,但是 他还会帮你执行出结果来,就是重新算一边shuffle之前的过程。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值