数据岗位面试题更新 2026-08-05

在 Apache Spark 中,系统的整体运行框架由哪些核心部分组成?请列明其主要组件及各组件在计算流程中的作用。

数据技术原理Apache Spark

考察说明

考查对 Spark 分布式计算架构整体框架和核心组件的理解。

回答思路

  1. 【回答框架 1】Spark 采用主从架构,核心组件包括 Cluster Manager、Driver 和 Executor。Driver 负责解析用户代码、生成 DAG 并调度任务,Cluster Manager 负责资源分配与回收。
  2. 【回答框架 2】Executor 运行在 Worker 节点上,负责执行具体任务并进行数据缓存。每个 Executor 可运行多个 Task,Task 是 Spark 执行的最小工作单元。
  3. 【回答框架 3】在 Spark 2.0 之后,引入了 SparkSession 作为统一入口,整合了 SQL、Streaming 等不同 API。此外,RDD、DataFrame、DataSet 是不同层面的数据抽象。
  4. 【回答框架 4】整个流程包括:Driver 将应用转化为 DAG,交由 DAGScheduler 拆分为 Stage,TaskScheduler 再将 Stage 分解为 Task 并分发到 Executor 执行。
  5. 【关键点 1】Spark 架构为主从模式,Driver 是应用入口,负责调度。
  6. 【关键点 2】Cluster Manager 负责集群资源管理,支持 Standalone、YARN、Mesos 等。
  7. 【关键点 3】Executor 是计算执行单元,执行任务并缓存数据。
  8. 【关键点 4】DAGScheduler 将 DAG 划分 Stage,TaskScheduler 负责任务分发。
  9. 【易错点 1】不少候选人混淆 RDD 与计算引擎的关系,记住 RDD 只是数据抽象,不是调度组件。
  10. 【易错点 2】不要忽视 Driver 崩溃会导致整个应用失败,这是架构单点。