0、Spark性能调优的“套路”你好,我是吴磊,欢迎和我一起探索 Spark 应用的性能优化。 2020年6月,Spark正式发布了新版本,从2.4直接跨越到了3.0。这次大版本升级的亮点就在于性能优化,它添加了诸如自适应查询执行(AQE)、动态分区剪裁(DPP)、扩展的Join ...2025-11-01Spark性能调优实战
1、性能调优的必要性你好,我是吴磊。 在日常的开发工作中,我发现有个现象很普遍。很多开发者都认为Spark的执行性能已经非常强了,实际工作中只要按部就班地实现业务功能就可以了,没有必要进行性能调优。 你是不是也这么认为呢?确实,Spark的核心竞争力就是它的执行性能,这...2025-11-01Spark性能调优实战
2、性能调优的本质你好,我是吴磊。 上节课,我们探讨了性能调优的必要性,结论是:尽管Spark自身运行高效,但作为开发者,我们仍然需要对应用进行性能调优。 那么问题来了,性能调优该怎么做呢?面对成百上千行应用代码、近百个Spark配置项,我们该从哪里入手呢?我认为,要...2025-11-01Spark性能调优实战
3、必须要理解弹性分布式数据集你好,我是吴磊。 从今天开始,我们进入原理篇的学习。我会以性能调优为导向,给你详细讲讲Spark中的核心概念RDD和DAG,以及重要组件调度系统、存储系统和内存管理。这节课,咱们先来说说RDD。 RDD可以说是Spark中最基础的概念了,使用Spar...2025-11-01Spark性能调优实战
4、到底啥叫“内存计算”?你好,我是吴磊。 在日常的开发工作中,我发现有两种现象很普遍。 第一种是缓存的滥用。无论是RDD,还是DataFrame,凡是能产生数据集的地方,开发同学一律用cache进行缓存,结果就是应用的执行性能奇差无比。开发同学也很委屈:“Spark不是内存...2025-11-01Spark性能调优实战
5、“数据不动代码动”是什么意思你好,我是吴磊。 在日常的开发与调优工作中,为了充分利用硬件资源,我们往往需要手工调节任务并行度来提升CPU利用率,控制任务并行度的参数是Spark的配置项:spark.default.parallelism。增加并行度确实能够充分利用闲置的CPU线...2025-11-01Spark性能调优实战
6、空间换时间,还是时间换空间你好,我是吴磊。 今天,我们来学习Spark的存储系统,它和我们上一讲学过的调度系统一样,都是Spark分布式计算引擎的基础设施之一。 你可能会问:“在日常的开发工作中,除了业务逻辑实现,我真的需要去关心这么底层的东西吗?”确实,存储系统离开发者比较...2025-11-01Spark性能调优实战
7、如何高效利用有限的内存空间你好,我是吴磊。 对于Spark这样的内存计算引擎来说,内存的管理与利用至关重要。业务应用只有充分利用内存,才能让执行性能达到最优。 那么,你知道Spark是如何使用内存的吗?不同的内存区域之间的关系是什么,它们又是如何划分的?今天这一讲,我就结合一...2025-11-01Spark性能调优实战
8、如何拓展自己的开发边界你好,我是吴磊。 从今天开始,我们就进入通用性能调优篇的学习了。这一篇,我们会从基本的开发原则、配置项、Shuffle以及硬件资源这四个方面,去学习一些通用的调优方法和技巧,它们会适用于所有的计算场景。 今天这一讲,我们先从应用开发的角度入手,去探讨...2025-11-01Spark性能调优实战
9、调优配置项速查手册-上你好,我是吴磊。 对于Spark性能调优来说,应用开发和配置项设置是两个最主要也最常用的入口。但在日常的调优工作中,每当我们需要从配置项入手寻找调优思路的时候,一打开Spark官网的Configuration页面,映入眼帘的就是上百个配置项。它们有的...2025-11-01Spark性能调优实战