apache/spark
5 articles
前置知识
- ›具备分布式系统的基本概念
- ›熟悉 Scala 语法(case class、trait、模式匹配)
- ›了解构建工具的基本使用(Maven 或 SBT)
01
Apache Spark 代码库导航:架构与模块全景图
深入解析 Apache Spark monorepo 结构、约 40 个 Maven 模块、核心入口点,以及 Classic 与 Connect 两种架构模式的分野。
02
启动序列:SparkContext、SparkEnv 与调度栈
完整追踪从 spark-submit 到 Spark 应用运行的初始化路径,深入剖析 SparkContext 的初始化顺序、SparkEnv 的设计,以及两级调度栈的工作机制。
03
Catalyst 查询管道:从 SQL 文本到优化执行计划
深入解析 Spark SQL 的 Catalyst 优化器:TreeNode 抽象、RuleExecutor 框架,以及从解析到物理规划的完整查询管道。
04
从计划到执行:RDD、Stage、Task 与 Shuffle
物理 SparkPlan 如何转化为分布式计算:RDD 属性、Stage 创建、Shuffle 系统、BlockManager 以及自适应查询执行。
05
Spark Connect 与可扩展性架构
通过 gRPC/Protobuf 实现的客户端-服务端解耦,以及可扩展性模式:SparkSessionExtensions、可插拔集群管理器、ShuffleManager 和 Data Source API V2。