开篇词 | Spark性能调优,你该掌握这些“套路”01 | 性能调优的必要性:Spark本身就很快,为啥还需要我调优?02 | 性能调优的本质:调优的手段五花八门,该从哪里入手?
03 | RDD:为什么你必须要理解弹性分布式数据集?04 | DAG与流水线:到底啥叫“内存计算”?05 | 调度系统:“数据不动代码动”到底是什么意思?06 | 存储系统:空间换时间,还是时间换空间?07 | 内存管理基础:Spark如何高效利用有限的内存空间?
08 | 应用开发三原则:如何拓展自己的开发边界?09 | 调优一筹莫展,配置项速查手册让你事半功倍!(上)10 | 调优一筹莫展,配置项速查手册让你事半功倍!(下)11 | 为什么说Shuffle是一时无两的性能杀手?12 | 广播变量(一):克制Shuffle,如何一招制胜!13 | 广播变量(二):如何让Spark SQL选择Broadcast Joins?14 | CPU视角:如何高效地利用CPU?15 | 内存视角(一):如何最大化内存的使用效率?16 | 内存视角(二):如何有效避免Cache滥用?17 | 内存视角(三):OOM都是谁的锅?怎么破?18 | 磁盘视角:如果内存无限大,磁盘还有用武之地吗?19 | 网络视角:如何有效降低网络开销?
20 | RDD和DataFrame:既生瑜,何生亮?21 | Catalyst逻辑计划:你的SQL语句是怎么被优化的?(上)22 | Catalyst物理计划:你的SQL语句是怎么被优化的(下)?23 | 钨丝计划:Tungsten给开发者带来了哪些福报?24 | Spark 3.0(一):AQE的3个特性怎么才能用好?25 | Spark 3.0(二):DPP特性该怎么用?26 | Join Hints指南:不同场景下,如何选择Join策略?27 | 大表Join小表:广播变量容不下小表怎么办?28 | 大表Join大表(一):什么是“分而治之”的调优思路?29 | 大表Join大表(二):什么是负隅顽抗的调优思路?30| 应用开发:北京市小客车(汽油车)摇号趋势分析31 | 性能调优:手把手带你提升应用的执行性能
Spark UI(上)| 深入解读Spark作业的“体检报告”Spark UI(下):深入解读Spark作业的“体检报告”
期末考试 | “Spark性能调优”100分试卷等你来挑战!结束语 | 在时间面前,做一个笃定学习的人