更新时间:2022-02-24 GMT+08:00

开发作业

对已有的作业进行编排。

前提条件

新建作业

编排作业节点

  1. 登录DLF管理控制台。
  2. 数据开发模块控制台的左侧导航栏,选择数据开发 > 作业开发
  3. 在作业目录中,双击作业名称,进入作业开发页面。
  4. 拖动所需的节点至画布,鼠标移动到节点图标上,选中连线图标并拖动,连接到下一个节点上。

    每个作业最多可以包含200个节点

配置作业基本信息

为作业配置责任人、优先级信息后,用户可根据责任人、优先级来检索相应的作业。操作方法如下:

单击画布的空白处,在右侧显示“作业基本信息”页签,单击此页签,展开配置页面,配置如表1所示的参数。

表1 作业基本信息

参数

说明

作业责任人

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

执行用户

执行作业的用户。如果输入了执行用户,则作业以执行用户身份执行;如果没有输入执行用户,则以提交作业启动的用户身份执行

作业优先级

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

实例超时时间

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

自定义字段

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

配置作业参数

作业参数为全局参数,可用于作业中的任意节点。操作方法如下:

单击画布的空白处,在右侧显示“作业参数配置”页签,单击此页签,展开配置页面,配置如表2所示的参数。

表2 作业参数配置

功能

说明

参数

新增

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

  • 参数名称

    只支持英文字母、数字、“-”“_”,最大长度为64字符,且参数名称不允许重名。

  • 参数值
    • 函数类的参数以“$”开头,例如:$getCurrentTime(@@yyyyMMdd@@,0)
    • 字符串类的参数直接填写字符串,例如:str1

      字符串和函数结合使用时,字符串需要使用“@@”括起来,并使用“+”连接。例如:@@str1@@+$getCurrentTime(@@yyyyMMdd@@,0)

    • 数值类的参数直接填写数值或运算表达式。

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

修改

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

保存

单击“保存”,保存作业参数的配置。

删除

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

常量

新增

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

  • 参数名称

    只支持英文字母、数字、“-”“_”,最大长度为64字符,且参数名称不允许重名。

  • 参数值
    • 函数类的参数以“$”开头,例如:$getCurrentTime(@@yyyyMMdd@@,0)
    • 字符串类的参数直接填写字符串,例如:str1

      字符串和函数结合使用时,字符串需要使用“@@”括起来,并使用“+”连接。例如:@@str1@@+$getCurrentTime(@@yyyyMMdd@@,0)

    • 数值类的参数直接填写数值或运算表达式。

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

修改

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

保存

单击“保存”,保存作业常量的配置。

删除

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

配置作业调度任务

配置批处理作业的作业调度任务,支持单次调度、周期调度、事件驱动调度三种方式。操作方法如下:

单击画布的空白处,在右侧显示“调度配置”页签,单击此页签,展开配置页面,配置如表3所示的参数。

表3 作业调度配置

参数

说明

调度方式

选择作业的调度方式:

  • 单次调度:手动触发作业单次运行。
  • 周期调度:周期性自动运行作业
  • 事件驱动调度:根据外部条件触发作业运行。

“周期调度”的参数

生效时间

调度任务的生效时间段。

调度周期

选择调度任务的执行周期,并配置相关参数:

  • 分钟
  • 小时

依赖作业

选择依赖的作业,约束条件如下:

  • 短周期的作业不能依赖长周期的作业
  • 调度周期为天的作业不能依赖调度周期为分钟的作业
  • 调度周期为周的作业不能依赖其他作业,也不能被其他作业依赖。
  • 调度周期为月的作业只能依赖调度周期为天的作业。

依赖的作业失败后,当前作业处理策略

当依赖的作业执行失败后,选择当前作业的处理策略:

  • 挂起

    挂起当前作业,挂起的作业会阻塞后续作业的执行。您可以手动将依赖的作业强制成功,解决阻塞问题,具体请参见批作业监控

  • 继续执行

    继续执行当前作业

  • 终止执行

    终止执行当前作业,当前作业的状态为“取消”

等待依赖作业的上一周期结束,才能运行

作业依赖其他作业时,选择是否等待依赖作业的上一周期结束后才执行当前作业

跨周期依赖

选择作业下实例之间的依赖关系。

  • 不依赖上一调度周期
  • 自依赖(等待上一调度周期结束才能继续运行)

“事件驱动调度”的参数

触发事件类型

选择触发作业运行的事件类型DIS。

DIS通道名称

选择DIS通道,当指定的DIS通道有新消息时,数据开发模块将新消息传递给作业,触发该作业运行。

事件处理并发数

选择作业并行处理的数量,最大并发数为128。

事件检测间隔

配置时间间隔,检测DIS通道是否有新的消息。时间间隔单位可以配置为秒或分钟。

读取策略

选择数据的读取位置:

  • 从上次位置读取:首次启动时,从最新的位置读取数据。后续启动时,则从前一次记录的位置读取数据。
  • 从最新位置读取:每次启动都会从最新的位置读取数据。

失败策略

选择调度失败后的策略:

  • 结束调度
  • 忽略失败,继续调度

配置节点属性

单击画布中的节点,在右侧显示“节点属性”页签,默认展开此配置页面,请参见节点概述配置具体节点的属性。

配置节点调度任务

配置实时处理作业的节点调度任务,支持单次调度、周期调度、事件驱动调度三种方式。操作方法如下:

单击画布中的节点,在右侧显示“调度配置”页签,单击此页签,展开配置页面,配置如表4所示的参数。

表4 节点调度配置

参数

说明

调度方式

选择作业的调度方式:

  • 单次调度:手动触发作业单次运行。
  • 周期调度:周期性自动运行作业
  • 事件驱动调度:根据外部条件触发作业运行。

“周期调度”的参数

生效时间

调度任务的生效时间段。

调度周期

选择调度任务的执行周期,并配置相关参数:

  • 分钟
  • 小时

跨周期依赖

选择作业下实例之间的依赖关系。

  • 不依赖上一调度周期
  • 自依赖(等待上一调度周期结束才能继续运行)

“事件驱动调度”的参数

触发事件类型

选择触发作业运行的事件类型。

DIS通道名称

选择DIS通道,当指定的DIS通道有新消息时,数据开发模块将新消息传递给作业,触发该作业运行。

事件处理并发数

选择作业并行处理的数量,最大并发数为10。

事件检测间隔

配置时间间隔,检测DIS通道或OBS路径下是否有新的消息。时间间隔单位可以配置为秒或分钟。

失败策略

选择节点执行失败后的策略:

  • 结束调度
  • 忽略失败,继续调度

更多节点功能

如需获取更多节点功能,请右键单击画布中的节点图标,根据实际需要选择如表5所示的功能。

表5 更多节点功能

功能

说明

配置

进入该节点“节点属性”页面。

删除

支持删除一个节点或同时删除多个节点。

  • 单节点删除:右键单击画布中的节点图标,选择删除或按快捷键Delete
  • 多节点删除:按下键盘中的Ctrl,单击画布中需要删除的节点图标,在当前作业画布空白处单击右键,选择删除或按快捷键Delete

复制

支持复制一个或多个节点至任意作业中:

  • 单节点复制:右键单击画布中的节点图标,选择复制或按快捷键Ctrl+C,在作业画布空白处粘贴节点或按快捷键Ctrl+V,复制后的节点携带原节点的配置信息。
  • 多节点复制:按下键盘中的Ctrl,单击画布中需要复制的节点图标,在当前作业画布空白处单击右键选择复制或按快捷键Ctrl+C,在目标作业画布空白处粘贴或按快捷键Ctrl+V。复制后的节点携带原节点的配置信息,但不包含节点间的连接关系。

测试运行

测试运行该节点

上传模拟数据

上传模拟数据至DIS Stream节点。提供以下模拟数据:

  • 轨迹分析模拟数据
  • 锅炉异常监测模拟数据

添加便签

为该节点添加便签,每个节点可以有多个便签。

编辑脚本

跳转到脚本编辑页面,对关联的脚本进行编辑。仅关联了脚本的节点显示该选项。

保存和启动作业

作业编排和配置完成后,请执行以下操作:

批处理作业

  1. 单击画布上方的测试运行按钮,测试作业。
  2. 测试没问题后,单击画布上方的保存按钮,保存作业的配置信息。
  3. 单击画布上方的执行调度按钮,启动作业。

实时处理作业

  1. 单击画布上方的保存按钮,保存作业的配置信息。
  2. 单击画布上方的提交按钮,提交并启动作业。

    DLF支持修改正在运行中的实时处理作业。作业修改完成后单击页面上方的“保存”按钮,在弹出的“保存作业”页面,再单击“确认”即可保存作业。