📘 Spark 调优 · 资源管理
30 章 · 从入门到实战
01
Spark性能调优全景:为什么需要调优?调优的维度与核心指标。
调优全景 · 核心指标
02
Spark作业运行机制深度解析:DAG、Stage、Task的划分逻辑。
DAG · Stage · Task
03
Spark资源模型:Executor、Core、Memory的分配哲学。
Executor · Core · Memory
04
Spark动态资源分配:原理、配置与实战经验。
动态资源 · 配置实战
05
Spark并行度调优:分区数、Task数与资源的关系。
并行度 · 分区 · Task
06
Spark Shuffle原理与调优:Hash Shuffle、Sort Shuffle、Tungsten Shuffle。
Shuffle 原理 · 三种实现
07
Spark Shuffle调优参数:缓冲区大小、合并文件、压缩策略。
缓冲区 · 合并 · 压缩
08
Spark数据倾斜:现象、原因与7种解决方案。
数据倾斜 · 7种方案
09
Spark Join策略调优:Broadcast Join、Sort Merge Join、Shuffle Hash Join。
Join 策略 · 调优
10
Spark内存管理:堆内与堆外内存、统一内存管理模型。
堆内 · 堆外 · 统一模型
11
Spark内存调优:RDD缓存、DataFrame缓存、序列化方式选择。
缓存 · 序列化 · 调优
12
Spark GC调优:G1GC与CMS的选择、GC日志分析。
GC · G1GC · CMS
13
Spark序列化调优:Java序列化 vs Kryo序列化。
Java · Kryo 序列化
14
Spark文件格式选择:Parquet、ORC、Avro的性能对比。
Parquet · ORC · Avro
15
Spark数据压缩:Snappy、LZ4、Zstd的压缩比与速度权衡。
Snappy · LZ4 · Zstd
16
Spark谓词下推与列裁剪:原理与配置。
谓词下推 · 列裁剪
17
Spark AQE(自适应查询执行):动态合并、动态切换Join策略、动态优化倾斜。
AQE · 自适应执行
18
Spark 3.x新特性:动态分区裁剪、Join提示、Bloom Filter。
3.x 新特性 · Bloom
19
Spark SQL优化:Catalyst优化器、Tungsten执行引擎。
Catalyst · Tungsten
20
Spark Streaming调优:批次大小、并行度、背压机制。
Streaming · 背压
21
Spark Structured Streaming调优:状态管理、水位线、输出模式。
StructStream · 水位线
22
Spark与HDFS的协同调优:数据本地性、小文件问题。
HDFS · 本地性 · 小文件
23
Spark与YARN的资源管理:队列配置、抢占、公平调度。
YARN · 队列 · 公平调度
24
Spark与Kubernetes的资源管理:动态扩缩容、Pod模板。
K8s · 动态扩缩容
25
Spark监控与诊断:Spark UI、History Server、Metrics系统。
监控 · UI · Metrics
26
Spark日志分析:常见错误、任务失败原因定位。
日志 · 错误定位
27
Spark性能基准测试:TPC-DS、HiBench的使用与解读。
TPC-DS · HiBench
28
Spark作业调优案例:ETL作业优化实战。
ETL 优化实战
29
Spark作业调优案例:机器学习作业优化实战。
ML 作业优化
30
Spark调优总结与最佳实践:Checklist与常见误区。
总结 · Checklist