在分布式计算框架(最典型的是 Apache Spark)中,Driver(驱动器) 和 Executor(执行器) 是两个核心组件。 简单来说:Driver 是“大脑”,负责指挥和调度;Executor 是“手脚”,负责干活和存储数据。 以下是它们的详细职责划分: --- 1. Driver 节点 (驱动器) Driver 是运行应用程序 函数并创建 的进程。它是整个应用的控制中心。 主要职责: 解析代码与构建逻辑: 运行用户编写的代码。 将用户代码中的转化操作(Transformations)和动作操作(Actions)转化为逻辑执行计划。 构建 DAG (有向无环图): 将逻辑计划转化为物理执行计划,生成 DAG。 根据 Shuffle 依赖关系,将 DAG 划分为多个 Stage(阶段)。 任务调度 (Task Scheduling): 将 Stage 进一步拆分为更小的 Task(任务)(Task 是最小的计算单元)。 决定将这些 Task 发送给哪个 Executor 去执行(基于数据本地性原则,即尽量把计算移动到数据所在的地方)。 资源申请与管理: 向 Cluster...