重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

SPARK任务类型用于执行Spark应用。本文为您介绍创建SPARK类型任务时涉及的参数,并提供了SPARK任务的示例。

参数说明

参数

说明

节点名称

任务的名称。一个工作流定义中的节点名称是唯一的。

运行标志

  • 正常(默认):运行工作流时执行该任务。

  • 禁止执行:运行工作流不会执行该任务。

描述

当前节点的功能描述。

任务优先级

流程运行的优先级。支持以下级别:

  • HIGHEST:最高。

  • HIGH:高。

  • MEDIUM(默认):中。

  • LOW:低。

  • LOWEST:最低。

失败重试次数

工作流运行失败自动重试的次数。

失败重试间隔

每次失败重试的间隔。单位:分。

延时执行时间

延时执行的时间,默认为0,即立即执行,设置了该值后才执行延时操作。单位:分。

超时告警

该开关默认关闭。打开超时告警开关,可设定超时时长,并选择至少一个超时策略。

  • 选择超时告警策略,当任务运行时长超过设置的超时时长后,系统将向指定的告警组发送通知。

  • 选择超时失败策略,当任务运行时长超过设置的超时时长后,该任务实例会立即失败。

任务提交节点

  • 调度资源组节点(默认):任务在Workflow的调度资源组节点提交。

  • EMR集群worker节点(提交到Yarn执行):任务在EMR集群的Worker节点提交,占用一个YARN Container。

    警告

    该模式会直接影响EMR集群的文件系统或运行环境,请谨慎操作。

    使用该模式,您还可以选择配置以下参数:

    • 调度队列:指定任务提交的YARN队列。

    • 任务执行容器内存(MB):指定任务执行容器的内存。默认值为1024。

    • 虚拟核数:指定任务执行容器的虚拟核数(vCores)。默认值为1。

    • 优先级:指定任务执行容器的优先级(0-100)。默认值为0,数值越大,优先级越高。

    • 执行用户:默认提交任务的用户为dolphinscheduler。标准集群(非高安全集群),如果需要设置执行用户,请确保YARN服务包含如下配置项:

      • yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor

      • yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users=false

说明

如果程序类型选择为SQL,则任务提交节点默认仅支持EMR集群worker节点(提交到Yarn执行)方式。

程序类型

重要

如果选择程序类型为PYTHON,则所选执行集群的所有worker节点都必须安装依赖环境。如果您需要在只有部分worker节点安装了依赖环境的集群中执行PySpark任务,详情请参见常见问题

支持JAVASCALAPYTHONSQLCUSTOM_SCRIPT语言。

说明

选择的类型不同,展示的参数也不同,具体以控制台为准。

主函数的Class

Spark程序的入口Main Class的全路径。

主程序包

执行Spark程序的JAR包。通过资源中心上传,详情请参见资源中心

部署方式

仅支持cluster模式部署。

脚本

  • 当程序类型为SQL时,请填写SQL语句。

  • 当程序类型为CUSTOM_SCRIPT时,请填写完整的spark-submit或spark-sql命令。

任务名称

Spark程序的名称。

Driver核心数

用于设置Driver内核数,请根据实际生产环境进行设置。

Driver内存数

用于设置Driver内存数,请根据实际生产环境进行设置。

Executor数量

用于设置Executor的数量,请根据实际生产环境进行设置。

Executor内存数

用于设置Executor内存数,请根据实际生产环境设置。

Executor核心数

用于设置Executor内核数,请根据实际生产环境设置。

主程序参数

设置Spark程序的输入参数,支持自定义参数变量的替换。

选项参数

设置spark-submit命令的选项参数。例如,--jars--files--archives--conf

资源

选择任务执行时所需的资源文件,请确保您已在资源中心文件管理页面,创建或者上传了相应的文件。选择所需文件后,您可以在任务脚本中通过完整路径引用它们。例如,path/to/test.txt

自定义参数

任务自定义参数,会替换脚本中${变量}的内容。更多参数配置信息,请参见参数说明

前置任务

设置当前任务的前置(上游)任务。

任务示例

引用OSS资源提交Spark任务

Spark任务选择EMR集群worker节点(提交到Yarn执行)时,支持直接引用OSS资源,在执行该任务时会自动加载使用代码中的OSS资源。

引用方式如下:

程序类型选择CUSTOM_SCRIPT任务提交节点选择EMR集群worker节点(提交到Yarn执行),在脚本中编辑以下内容。

spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --deploy-mode cluster \
  --master yarn \
  --driver-cores 1 \
  --driver-memory 4g \
  --executor-memory 4g \
  --executor-cores 2 \
  --num-executors 3 \
  oss://path/to/examples.jar 

上述示例中的参数请根据实际情况进行更改:

  • --class:Spark作业的主类,指定包含要执行的类的全名。

  • --deploy-mode:指定部署模式,仅支持cluster。

  • --master:指定运行环境。

  • --driver-cores:指定Driver内核数。

  • --driver-memory:指定设置Driver内存数。

  • --executor-memory:指定设置Executor内存数。

  • --executor-cores:指定设置Executor内核数。

  • --num-executors:指定设置Executer数量。

  • oss://path/to/examples.jar:引用的JAR文件在OSS上的路径。

引用资源中心的文件提交Spark任务

如果您需要引用资源中心的文件提交Spark任务,可参考以下参数配置:

  • 程序类型:请选择与您的Spark作业所采用的编程语言相对应的选项。例如,Scala、Python或Java。

  • 主函数的Class:Spark程序的入口Main Class的全路径。例如,com.yourcompany.YourMainClass。

    说明

    如果是Python脚本,则不需要填写。

  • 主程序包:执行Spark程序的JAR包。需要通过资源中心上传,详情请参见资源中心

  • 资源:如果您的Spark作业需要额外的资源文件(例如配置文件),您可以在此处指定。这些资源文件需要预先通过资源中心上传,详情请参见资源中心

    成功上传后,您可以在任务脚本中使用它们的完整路径进行引用,例如:“path/to/test.txt”。