问题#1
以下哪项描述了 Spark 驱动程序?
答案: D
本题考查Spark核心组件中驱动程序的基础定义,属于Apache Spark Associate Developer认证的入门必考知识点。正确答案为D,该选项完全匹配Spark官方对驱动程序的定义:Spark驱动程序是运行Spark应用主方法的进程空间,负责创建SparkSession或SparkContext实例,解析用户编写的应用逻辑生成作业、划分调度阶段、生成具体任务并分配给执行器节点执行,同时监控所有任务的运行状态,协调Spark应用的全生命周期运行,完全符合题目对驱动程序描述的要求。 各选项分析:
A. 错误。Spark应用由驱动程序和多个执行器(Executor)进程共同组成,具体的并行计算任务由执行器执行,驱动仅负责协调调度,并不执行所有操作,也不等同于整个Spark应用。
B. 错误。默认情况下Spark驱动程序是单点故障点,发生故障后整个应用直接终止,即便配置了集群管理器的高可用机制,备用驱动也无法恢复所有应用状态,该描述不符合驱动程序的基础特性。
C. 错误。Spark执行层次结构中最粗略的级别是Spark应用本身,Spark应用包含驱动程序、执行器等多个组件,二者并不等同。
D. 正确。该选项完全符合Spark官方对驱动程序的定义:驱动程序是Spark应用主方法运行的进程,负责整个Spark应用的逻辑解析、任务调度与运行协调。
E. 错误。Spark驱动程序为单个进程,仅支持垂直扩展(提升单节点CPU、内存配置),无法水平扩展,Spark应用的处理吞吐量提升依赖执行器节点的水平扩容。 关键知识点:
1. Spark驱动程序核心职责:运行Spark应用的主函数,创建SparkSession或SparkContext,负责作业解析、阶段划分、任务调度与应用全生命周期的协调监控。
2. Spark应用组成结构:一个完整的Spark应用由1个驱动进程、N个执行器进程共同组成,驱动负责调度管理,执行器负责具体的并行任务计算。
3. Spark驱动扩展特性:驱动程序默认单实例运行,不可水平扩展,仅可通过提升单节点配置实现垂直扩展,应用整体并行处理能力的扩容依赖执行器节点数量的增加。 参考资料:
Apache Spark 官方文档 集群模式概述, https://spark.apache.org/docs/latest/cluster-overview.html
Databricks 官方文档 集群核心概念