Apache Spark 的运行架构是一个典型的 Master-Slave (主从) 结构。为了理解清楚,我们需要把架构分为两个维度来看: 1. 物理节点/资源管理层:Master 和 Worker(负责管资源)。 2. 应用程序执行层:Driver 和 Executor(负责干活)。 以下是详细的架构解析: --- 一、 核心组件详解 1. Driver (驱动器) —— "总指挥 / 大脑" Driver 是 Spark 作业的入口,是整个应用的控制中心。 位置:运行 函数并创建 的进程。 主要职责: 代码解析:将用户写的代码(算子)转换成逻辑执行图(DAG)。 任务调度:将 DAG 拆分成 Stage(阶段),再拆分成 Task(任务),分发给 Executor 执行。 监控:监控 Task 的执行状态,失败重试。 资源申请:向 Cluster Manager 申请资源(Executor)。 类比:项目经理。他制定计划,把大项目拆分成小任务,分发给员工,并监督进度。 2. Executor (执行器) —— "搬砖工 / 肌肉" Executor 是运行在工作节点(Work...