源码级别的 Spark 教程,推荐这本《Spark 源码》。书里讲得挺细,从 Spark 的核心架构到调度、内存管理、Shuffle、容错机制一网打尽,干货多还接地气。对 RDD 的那部分清晰,配合实际例子,看完你就明白 Spark 到底是怎么把任务拆成 Stage、怎么调度 Task、怎么搞内存分配的。
调度那块我觉得是整本书的亮点,DAGScheduler和TaskScheduler的配合讲得挺透,还有怎么把一个 Job 分成多个 Stage,也有图有代码,适合搞性能优化的同学深入研究一下。
如果你之前在用RDD或者DataFrame,但总觉得系统黑箱,那这本书刚好能帮你掀开盖子,看看 Spark 到底是怎么数据的。像BlockManager、Shuffle这些模块,讲得还不错,尤其适合想搞定 OOM 问题的开发者。
别忘了,Spark SQL和Spark Streaming也都有章节,流这块讲了DStream的流程,还有和Kafka、HDFS的整合细节。
实战链接也推荐几个,Spark RDD 编程实战 PySpark 示例这篇还不错,边学边练效果更好。
如果你打算长期用 Spark,尤其想搞明白它为啥这么快、怎么扩展,那这本《Spark 源码》真挺值一看的。建议看书时,配合源码和日志调试看,效果更好。