• ClusterManager:负责管理集群,包括监控 Worker 节点,在 Standalone 模式下为 Master,在 YARN 模式下为资源管理器。
  • Worker:控制计算节点,启动 Executor,在 Standalone 模式下为主节点,在 YARN 模式下为 NodeManager。
  • Driver:运行 Spark 应用程序的 main() 函数,创建 SparkContext。
  • Executor:执行器,在 Worker 节点上执行任务,每个应用程序都有独立的 Executors。
  • SparkContext:应用程序的上下文,控制应用程序的生命周期。
  • RDD:基本计算单元,可形成 DAG Graph。
  • DAG Scheduler:将作业分解为 Stage,每个 Stage 根据 RDD 的分区决定 Task 数量,生成 Task 集。
  • TaskScheduler:将 Task 分发给 Executor 执行。
  • Stage:作业包含一到多个 Stage。
  • Task:Stage 包含一到多个 Task,实现并行运行。
  • Transformations:操作(map、filter 等),延迟执行,记录操作但不会执行,直到 Actions 时才启动计算。
  • Actions:操作(count、collect 等),返回结果或将 RDD 数据写入存储系统,触发计算。
  • SparkEnv:线程级别的上下文,包含运行时重要组件的引用。
  • MapOutPutTracker:存储 Shuffle 元信息。
  • BroadcastManager:控制广播变量和存储元信息。
  • BlockManager:负责存储管理。