Skip to content

Spark 程序

Spark 程序用于执行 Spark 应用。

提示:

执行SPARK程序前,需要在${dolphinscheduler安装目录}/bin/env/dolphinscheduler_env.sh文件中,修改SPARK_HOME指向Spark服务在服务器中的路径。如export SPARK_HOME1=${SPARK_HOME1:-/home/spark/spark-2.4.0-bin-hadoop2.6}。

配置项说明:

Spark 程序配置项可分为 6 大类:基础环境、程序本体、资源分配、程序参数、高级配置、运行控制,核心是「基础环境 + 程序本体 + 资源分配」。

1. 基础信息配置(必选)

这类配置用于指定 Spark 程序运行的基础环境,是任务能执行的前提,决定「程序在哪里跑、用哪个版本的 Spark」。

配置项默认值描述
程序类型JAVA支持 Java、Scala、Python 和 SQL 四种语言。
Spark 版本Spark1指定使用的 Spark 版本(匹配集群实际版本,避免兼容性问题),支持 Spark1 和 Spark2。
任务名称-Spark 程序的名称。
部署方式localSpark 作业的部署模式。
(1) spark submit 支持 yarn-clusetr、yarn-client 和 local 三种模式。
(2) spark sql 支持 yarn-client 和 local 两种模式。

2. 程序配置(必选)

这类配置指向「要运行的 Spark 程序本身」,决定「跑哪个程序」。

配置项默认值描述
主函数的 Class-Spark 程序的入口类 Main class 的全路径。
主程序包-执行 Spark 程序的 jar 包(通过项目配置》文件管理上传)。
SQL脚本-当「程序类型」为 SQL 时,需要定义 Spark SQL 语句。

3. 资源配置(核心)

这类配置决定 Spark 作业的资源占用,直接影响运行效率和集群资源利用率,是性能调优的关键,需根据作业数据量和集群资源合理设置。

配置项默认值描述
Driver 核心数1Driver 进程占用的 CPU 核心数(YARN 模式生效)。
Driver 内存数512MDriver 进程的内存大小(Driver 是作业的总控节点)。
Executor 数量1Executor 的总个数(决定并行度)。
Executor 内存数2G每个 Executor 进程的内存大小(Executor 是实际计算节点)。
Executor 核心数2每个 Executor 占用的 CPU 核心数。

4. 资源选择(可选)

这类配置用于选择 Spark 程序依赖的外部 Jar 包。

配置项默认值描述
资源-程序依赖的外部 Jar 包(多个用逗号分隔),如果其他参数中引用了资源文件,需要在资源中选择指定。

5. 程序参数配置(可选)

这类配置是传递给 Spark 主类 / 脚本的业务参数,决定「程序怎么跑(业务逻辑层面)」。

配置项默认值描述
主程序参数-Spark 主类的入参(多个参数用空格分隔),支持自定义参数变量的替换。
选项参数-传递给 spark-submit 的额外配置(--conf 开头),支持 --jar、--files、--archives、--conf 格式。

6. 运行控制配置(可选)

这类配置决定 Spark 任务在 DolphinScheduler 内的运行规则,属于调度层面的配置。在「通用配置」中进行配置。

配置项默认值描述
任务优先级MEDIUMworker 线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。
Worker 分组default任务分配给 worker 组的机器执行,选择 Default,会随机选择一台 worker 机器执行。
任务组-用于控制任务实例并发,选择项目中已经定义好的任务组。
任务组优先级0任务在任务组内运行的优先级,数字越大优先级越高。
环境名称-运行程序时指定的虚拟环境。
本地参数-是程序局部的用户自定义参数,会替换程序中以 ${变量} 的内容。
失败重试次数0任务失败后的重试次数,单位:次。
失败重试间隔1多次重试之间的等待时间,单位:分钟。
超时告警关闭勾选超时告警、超时失败,当任务超过”超时时长”后,会发送告警邮件并且任务执行失败。