Apache Spark 源码学习
从编译源码、跟踪一个 Job 的一生,到调度、Shuffle、内存、Catalyst、Codegen 和 AQE,每个结论都给出源码位置和可复现的实验。
适合:大数据开发、数据平台工程师,以及准备大数据岗位面试的同学
已完成 0 / 13 课开始学习
- 1从零编译 Spark 4.2.0 源码25 分钟
- 2Job、Stage、Task 是什么关系20 分钟
- 3宽窄依赖:Stage 在哪里切开20 分钟
- 4L1 练习:跟踪 SparkPi 一个 Job 的一生30 分钟
- 5第 2 讲:调度体系35 分钟
- 6第 3 讲:Shuffle30 分钟
- 7第 4 讲:内存管理30 分钟
- 8第 5 讲:存储体系30 分钟
- 9第 6 讲:RPC 与部署30 分钟
- 10第 7 讲:容错机制30 分钟
- 11第 8 讲:Spark SQL 与 Catalyst35 分钟
- 12第 9 讲:代码生成与 Tungsten30 分钟
- 13第 10 讲:AQE、DSv2 与 Spark Connect35 分钟
结业项目
Spark 模拟面试拿到 60 分以上。满足条件后在本页下方领取结业证书。
这条路线讲什么
从编译源码、跟踪一个 Job 的一生,到调度、Shuffle、内存、Catalyst、Codegen 和 AQE,每个结论都给出源码位置和可复现的实验。
基于 Spark 4.2.0。作者 X老师(DaemonforY),按 CC BY-NC-SA 4.0 发布。配套实验见 GitHub。
每课读完做一下课后小测验;读的时候有疑问,点右下角「问助教」,助教会结合这篇文章回答。
配套阅读
- 学习路线:从入门到 Committer:L0 预备到 L4 专家五个阶段:每阶段读哪些源码、做哪些练习、怎样参与社区。
结业
学完全部 13 课、各课测验总正确率不低于 80%,再在 Spark 模拟面试 里拿到 60 分以上,就能在这里领取结业证书。