scala & spark调优

本文深入探讨Spark性能优化的关键策略,包括避免传统join操作导致的shuffle,利用coalesce操作优化数据分布,以及如何正确使用cache/persist等持久化操作来提升效率。适合Spark开发者和数据工程师参考。

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

scala spark 学习资料

https://blog.youkuaiyun.com/lovehuangjiaju

Spark性能优化指南——基础篇

https://tech.meituan.com/2016/04/29/spark-tuning-basic.html

Spark性能优化指南——高级篇

https://tech.meituan.com/2016/05/12/spark-tuning-pro.html

超全spark性能优化总结 - 一块小蛋糕的文章 - 知乎

https://zhuanlan.zhihu.com/p/108454557

Spark优化那些事(4)-关于spark.driver.maxResultSize的疑惑

http://bourneli.github.io/scala/spark/2016/09/21/spark-driver-maxResultSize-puzzle.html?utm_source=tuicool&utm_medium=referral

 

Spark性能优化指南——基础篇:

// 传统的join操作会导致shuffle操作。

// 因为两个RDD中,相同的key都需要通过网络拉取到一个节点上,由一个task进行join操作。

val rdd3 = rdd1.join(rdd2)

coalesce操作

一个stage的所有task都执行完毕之后,会在各个节点本地的磁盘文件中写入计算中间结果

当我们在代码中执行了cache/persist等持久化操作时,根据我们选择的持久化级别的不同,每个task计算出来的数据也会保存到Executor进程的内存或者所在节点的磁盘文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值