更新时间:2024-08-05 GMT+08:00

DLI Spark

功能

通过DLI Spark节点执行一个预先定义的Spark作业。

DLI Spark节点的具体使用教程,请参见开发一个DLI Spark作业

参数

用户可参考表1表2表3配置DLI Spark节点的参数。

表1 属性参数

参数

是否必选

说明

节点名称

节点名称,可以包含中文、英文字母、数字、“_”“-”“/”“<”“>”等各类特殊字符,长度为1~128个字符。

DLI队列

下拉选择需要使用的队列。

说明:
  • 当子用户在创建作业时,子用户只能选择已经被分配的队列。
  • 当前由于DLI的“default”队列默认Spark组件版本较低,可能会出现无法支持建表语句执行的报错,这种情况下建议您选择自建队列运行业务。如需“default”队列支持建表语句执行,可联系DLI服务客服或技术支持人员协助解决。
  • DLI的“default”队列为共享队列,仅用于用户体验,用户间可能会出现抢占资源的情况,不能保证每次都可以得到资源执行相关操作。当遇到执行时间较长或无法执行的情况,建议您在业务低峰期再次重试,或选择自建队列运行业务。

Spark版本

选定DLI队列后,下拉可选择作业使用Spark组件的版本号,使用时如无特定版本要求时使用默认版本号2.3.2,有特殊使用要求时选择对应的版本即可。

作业特性

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

自定义镜像需要选择自定义镜像名称和对应版本。仅当DLI队列为容器化队列类型时,出现本参数。

自定义镜像是DLI的特性。用户可以依赖DLI提供的Spark或者Flink基础镜像,使用Dockerfile将作业运行需要的依赖(文件、jar包或者软件)打包到镜像中,生成自己的自定义镜像,然后将镜像发布到SWR(容器镜像服务)中,最后在此选择自己生成的镜像,运行作业。

自定义镜像可以改变Spark作业和Flink作业的容器运行环境。用户可以将一些私有能力内置到自定义镜像中,从而增强作业的功能、性能。

作业名称

填写DLI Spark作业的名称,只能包含英文字母、数字、“_”,且长度为1~64个字符。默认与节点的名称一致。

作业运行资源

选择作业运行的资源规格:

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

作业主类

Spark作业的主类名称。当应用程序类型为“.jar”时,主类名称不能为空。

Spark程序资源包

运行spark作业依赖的jars。可以输入jar包名称,也可以输入对应jar包文件的OBS路径,格式为:obs://桶名/文件夹路径名/包名。在选择资源包之前,您需要先将Jar包及其依赖包上传至OBS桶中,并在“资源管理”页面中新建资源,具体操作请参考新建资源

资源类型

支持OBS路径和DLI程序包两种类型的资源。

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

分组设置

当“资源类型”选择了“DLI程序包”时,需要设置。可选择“已有分组”,“创建新分组”或“不分组”。

组名称

当“资源类型”选择了“DLI程序包”时,需要设置。

  • 选择“已有分组”:可选择已有的分组。
  • 选择“创建新分组”:可输入自定义的组名称。
  • 选择“不分组”:不需要选择或输入组名称。

主类入口参数

用户自定义参数,多个参数请以Enter键分隔。

应用程序参数支持全局变量替换。例如,在“全局配置”>“全局变量”中新增全局变量key为batch_num,可以使用{{batch_num}},在提交作业之后进行变量替换。

Spark作业运行参数

以“key/value”的形式设置提交Spark作业的属性,多个参数以Enter键分隔。具体参数请参见Spark Configuration

Spark参数value支持全局变量替换。例如,在“全局配置”>“全局变量”中新增全局变量key为custom_class,可以使用"spark.sql.catalog"={{custom_class}},在提交作业之后进行变量替换。

说明:

Spark作业不支持自定义设置jvm垃圾回收算法。

Module名称

DLI系统提供的用于执行跨源作业的依赖模块,访问各个不同的服务,选择不同的模块:

  • CloudTable/MRS HBase: sys.datasource.hbase
  • DDS:sys.datasource.mongo
  • CloudTable/MRS OpenTSDB: sys.datasource.opentsdb
  • DWS: sys.datasource.dws
  • RDS MySQL: sys.datasource.rds
  • RDS PostGre: sys.datasource.rds
  • DCS: sys.datasource.redis
  • CSS: sys.datasource.css

DLI内部相关模块:

  • sys.res.dli-v2
  • sys.res.dli
  • sys.datasource.dli-inner-table

访问元数据

是否通过Spark作业访问元数据。具体请参考使用Spark作业访问DLI元数据

表2 高级参数

参数

是否必选

说明

节点状态轮询时间(秒)

设置轮询时间(1~60秒),每隔x秒查询一次节点是否执行完成。

节点执行的最长时间

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

失败重试

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

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

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

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

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

当前节点失败后,后续节点处理策略

节点执行失败后的操作:

  • 终止后续节点执行计划:停止后续节点的运行,当前作业实例状态显示为“失败”。
  • 终止当前作业执行计划:停止当前作业运行,当前作业实例状态显示为“失败”。
  • 继续执行下一节点:忽略当前节点失败,当前作业实例状态显示为“忽略失败”。
  • 挂起当前作业执行计划:当前作业实例的状态为运行异常,该节点的后续节点以及依赖于当前作业的后续作业实例都会处于等待运行状态。

是否空跑

如果勾选了空跑,该节点不会实际执行,将直接返回成功。

任务组

选择任务组。任务组配置好后,可以更细粒度的进行当前任务组中的作业节点的并发数控制,比如作业中包含多个节点、补数据、重跑等场景。

表3 血缘关系

参数

说明

输入

新建

单击“新建”,在“类型”的下拉选项中选择要新建的类型。可以选择DWS,OBS,CSS,HIVE,CUSTOM和DLI类型。

确定

单击“确认”,保存节点输入功能的参数配置。

取消

单击“取消”,取消节点输入功能的参数配置。

编辑

单击,修改节点输入功能的参数配置,修改完成后,请保存。

删除

单击,删除节点输入功能的参数配置。

查看表详情

单击,查看节点输入血缘关系创建数据表的详细信息。

输出

新建

单击“新建”,在“类型”的下拉选项中选择要新建的类型。可以选择DWS,OBS,CSS,HIVE,CUSTOM和DLI类型。

确定

单击“确认”,保存节点输出功能的参数配置。

取消

单击“取消”,取消节点输出功能的参数配置。

编辑

单击,修改节点输出功能的参数配置,修改完成后,请保存。

删除

单击,删除节点输出功能的参数配置。

查看表详情

单击,查看节点输出血缘关系创建数据表的详细信息。