更新时间:2024-10-28 GMT+08:00

开发实时处理单任务DLI Spark作业

前提条件

参见新建作业创建一个实时处理的单任务DLI Spark作业。

配置DLI Spark作业

表1 配置属性参数

参数

是否必选

说明

作业名称

输入DLI Spark作业名称。

作业名称只能包含英文字母、数字、下划线和中划线,且长度为1~64个字符。

DLI队列

选择DLI队列。

Spark版本

  • 2.3.2
  • 2.4.5
  • 3.1.1

作业特性

用户作业使用的Spark镜像类型(当前支持基础型、AI增强型和自定义的Spark镜像)。

  • 基础型
  • AI增强型
  • 自定义镜像

    当选择“自定义镜像”时,请选择自定义的镜像名称,版本号系统自动展示。您可以前往容器镜像服务进行设置。

作业运行资源

  • 8核32G内存
  • 16核64G内存
  • 32核128G内存

作业主类

该参数表示作业的Java/Scala主类。

Spark程序资源包

该参数表示Spark程序依赖的资源包。

资源类型

  • OBS路径
  • DLI程序包

DLI程序包:作业执行前,会将资源包文件上传到DLI资源管理。

OBS路径:作业执行时,不会上传资源包文件到DLI资源管理,文件的OBS路径会作为启动作业消息体的一部分,推荐使用该方式。

分组设置

当“资源类型”选择“DLI程序包”时,才需要配置该参数。

将Spark程序资源包上传到指定的分组中,主Jar包和依赖包会上传到同一个分组中。

  • 已有分组:选择已有的分组
  • 创建新分组:创建新的分组,分组名称只能包含英文字母、数字、点号、中划线和下划线。
  • 不分组

主类入口参数

配置该参数时,多个参数请以Enter键进行分隔。

Spark作业运行参数

配置该参数时,输入格式为key=value的参数,多个参数请以Enter键进行分隔。

Module名称

选择Module名称,支持选择多个。

访问元数据

访问元数据的开关。

如果需要在DLI Spark作业中访问由DLI SQL作业创建的OBS表,就要打开访问元数据开关。

表2 配置高级参数

参数

是否必选

说明

作业状态轮询时间(秒)

设置轮询时间(30~60秒、120秒、180秒、240秒、300秒),每隔x秒查询一次作业是否执行完成。

作业运行过程中,根据设置的作业状态轮询时间查询作业运行状态。

最长等待时间

设置作业执行的超时时间,如果作业配置了重试,在超时时间内未执行完成,该作业将会再次重试。

说明:

如果作业一直处于启动中状态,没有成功开始运行,超时后作业会被置为失败。

失败重试

节点执行失败后,是否重新执行节点

  • 是:重新执行节点,请配置以下参数。
    • 超时重试
    • 最大重试次数
    • 重试间隔时间(秒)
  • 否:默认值,不重新执行节点
    说明:

    如果作业节点配置了重试,并且配置了超时时间,该节点执行超时后,系统支持再重试。

    当节点运行超时导致的失败不会重试时,您可前往“默认项设置”修改此策略。

    当“失败重试”配置为“是”才显示“超时重试”。

参数设置完成后,单击“保存”,并提交该作业。

单击“启动”,运行该作业。

配置作业基本信息

表3 作业基本信息

参数

说明

责任人

自动匹配创建作业时配置的作业责任人,此处支持修改。

作业委托

当“作业调度身份是否可配置”设置为“是”,该参数可见。

配置委托后,作业执行过程中,以委托的身份与其他服务交互。

作业优先级

自动匹配创建作业时配置的作业优先级,此处支持修改。

实例超时时间

配置作业实例的超时时间,设置为0或不配置时,该配置项不生效。如果您为作业设置了异常通知,当作业实例执行时间超过超时时间,将触发异常通知,发送消息给用户,作业不会中断,继续运行。

实例超时是否忽略等待时间

配置实例超时是否忽略等待时间。

如果勾选上,表示实例运行时等待时间不会被计入超时时间,可前往默认项设置修改此策略。

如果未选上,表示实例运行时等待时间会被计入超时时间。

自定义字段

配置自定义字段的参数名称和参数值。

作业标签

配置作业的标签,用以分类管理作业。

单击“新增”,可给作业重新添加一个标签。也可选择管理作业标签中已配置的标签。

配置作业参数

单击编辑器右侧的“参数”,展开配置页面,配置如表4所示的参数。

表4 作业参数配置

功能

说明

变量

新增

单击“新增”,在文本框中填写作业参数的名称和参数值。

  • 参数名称

    名称只能包含字符:英文字母、数字、中划线和下划线。

  • 参数值
    • 字符串类的参数直接填写字符串,例如:str1。
    • 数值类的参数直接填写数值或运算表达式。

参数配置完成后,在作业中的引用格式为${参数名称}。

编辑参数表达式

在参数值文本框后方,单击,编辑参数表达式,更多表达式请参见表达式概述

修改

在参数名和参数值的文本框中直接修改。

掩码显示

在参数值为密钥等情况下,从安全角度,请单击将参数值掩码显示。

删除

在参数值文本框后方,单击,删除作业参数。

常量

新增

单击“新增”,在文本框中填写作业常量的名称和参数值。

  • 参数名称

    名称只能包含字符:英文字母、数字、中划线和下划线。

  • 参数值
    • 字符串类的参数直接填写字符串,例如:str1。
    • 数值类的参数直接填写数值或运算表达式。

参数配置完成后,在作业中的引用格式为${参数名称}。

编辑参数表达式

在参数值文本框后方,单击,编辑参数表达式,更多表达式请参见表达式概述

修改

在参数名和参数值的文本框中直接修改,修改完成后,请保存。

删除

在参数值文本框后方,单击,删除作业常量。

工作空间环境变量

查看工作空间已配置的变量和常量。

单击“作业参数预览”页签,展开预览页面,配置如表5所示的参数。

表5 作业参数预览

功能

说明

当前时间

仅单次调度才显示。系统默认为当前时间。

事件触发时间

仅事件驱动调度才显示。系统默认为事件触发时间。

周期调度

仅周期调度才显示。系统默认为调度周期。

具体时间

仅周期调度才显示。周期调度配置的具体运行时间。

起始日期

仅周期调度才显示。周期调度的生效时间。

后N个实例

作业运行调度的实例个数。

  • 单次调度场景默认为1。
  • 事件驱动调度场景默认为1。
  • 周期调度场景

    当实例数大于10时,系统最多展示10个日期实例,系统会自动提示“当前参数预览最多支持查看10个实例”。

在作业参数预览中,如果作业参数配置存在语法异常情况系统会给出提示信息。

如果参数配置了依赖作业实际运行时产生的数据,参数预览功能中无法模拟此类数据,则该数据不展示。