使用本工具进行DataWorks批量治理

本文介绍了如何基于LHM调度迁移工具实现DataWorks调度任务流的批量治理。

LHM调度迁移工具提供了对DataWorks中任务流、节点属性的批量修改能力。

该能力依托工具提供的DataWorks平迁能力实现:先将任务由DataWorks导出、修改属性后导入统一工作空间。属性修改完全通过编辑Excel表格操作,无需编写代码、无需了解LHM调度工作流标准数据结构,以最灵活、最可用的形式向用户提供。

本方案是对DataWorks批量操作能力的补充,建议优先使用DataWorks批量操作功能;在批量操作无法满足需求时使用本方案。

image.png

1 导出DataWorks调度任务流

参考DataWorks跨空间迁移中的任务流导出方案,生成ReaderOutput.zip导出包。

DataWorks 跨空间迁移

2 DataWorks批量治理

LHM调度数据包的统计表以平铺的方式展示了包中Workflow、Workflow Node、Workflow Resource、Function、DataSource的条目及其主要属性。工具允许用户通过编辑表格以修改调度属性,允许修改的字段以蓝色字体标识。

解压缩ReaderOutput.zip导出包,打开统计报表。

image.png

在批量修改完成后,请删除原压缩包,保存报表,然后压缩得到新包。

2.1 工作流属性批量修改

Workflow子表展示了工作空间中任务流的清单及其主要属性。

image.png

支持修改的属性如下:

2.1.1 责任人

2.1.1.a 定义

表格中的“责任人”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

2.1.1.b 可选值

“责任人”字段填写用户的账号ID,ID可以在页面右上角获取,或从数据开发节点责任人下拉框中获取。字段置空时,将自动设置为导入DataWorks时所使用AK、SK归属账号的ID。

image.png

image.png

2.1.2 备注

表格中的“备注”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

2.1.3 调度参数

表格中的“调度参数”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

填写等号表达式,存在多个参数时以英文逗号连接,如:a=1,b=2

image.png

2.1.4 调度信息(Cron表达式)

表格中的“调度信息(Cron表达式)”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

字段中需填写Cron表达式,格式为“秒 分钟 小时 日 月 星期”。注意,所有数字需以两位数表达,例如,0需要被写作00、1需要被写作01。此外,DataWorks不支持设置“年”。

工具将根据Cron表达式自动填写数据开发节点上的“调度周期”相关参数。

2.1.5 实例生成方式

表格中的“实例生成方式”字段允许被修改,对应DataWorks数据开发界面中的如下设置:

image.png

可选值:

· T_PLUS_1:T+1次日生成

· IMMEDIATELY:发布后即时生成

2.2 任务属性批量修改

2.2.1 责任人

2.2.1.a 定义

表格中的“责任人”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

2.2.1.b 可选值

“责任人”字段填写用户的账号ID,ID可以在页面右上角获取,或从数据开发节点责任人下拉框中获取。字段置空时,将自动设置为导入DataWorks时所使用AK、SK归属账号的ID。

image.png

image.png

2.2.2 备注

表格中的“备注”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

2.2.3 相关数据源

若用户希望在迁移中更换节点绑定的数据源,可通过修改表格中“相关数据源”字段实现变更。

其中数据集成节点与多个数据源相关,数据集成源端数据源与目标端数据源以“,”分隔,如“odps1,odps2”表示该数据集成任务是从odps1读取写入odps2;如存在分库分表时,源端数据源以空格分隔,如“mysql1 mysql2 mysql3,odps1”表示从mysql1、mysql2、mysql3三个数据源读取写入odps1。

image.png

请确保表格中的数据源在目标DataWorks空间中真实存在,并尽可能填写。当数据源置空时,MaxCompute(ODPS)、EMR、HOLOGRES相关节点将会自动绑定工作空间中默认引擎,其他节点可能存在异常。

该字段对应DataWorks数据开发的如下设置:

DataWorks数据开发节点绑定数据源的设置位置如下:

image.png

DataWorks数据集成节点(单表离线)绑定数据源的设置位置如下:

image.png

注意!DataWorks节点测试与调度运行支持绑定不同的数据源,工具允许批量设置的是运行数据源。以下为测试数据源的设置位置,请勿混淆。

image.png

2.2.4 调度参数

表格中的“调度参数”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

填写等号表达式,存在多个参数时以英文逗号连接,如:a=1,b=2

image.png

2.2.5 调度信息(Cron表达式)

DataWorks中,本配置项由当前节点所属工作流统一管理。

2.2.6 实例生成方式

DataWorks中,本配置项由当前节点所属工作流统一管理。

2.2.7 调度类型

表格中的“调度类型”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

可选值:

· NORMAL: 正常调度

· PAUSE: 暂停调度

· SKIP: 空跑调度

2.2.8 重跑类型

表格中的“重跑类型”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

可选值:

· ALL_ALLOWED: 运行成功或失败皆可重跑

· FAILURE_ALLOWED: 运行成功后不可重跑,运行失败后可以重跑

· ALL_DENIED: 运行失败或成功后皆不可重跑

2.2.9 调度资源组

表格中的“调度资源组”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

资源组的获取方式如下:

DataWorks工作空间详情页左侧菜单栏进入资源组页面,绑定资源组,并获取资源组ID。

image.png

注意,后续在使用工具将调度信息导入目标DataWorks空间时,导入配置项中也存在资源组设置。若表格中资源组设置有值时,导入工具将优先取用表格中的值;在表格中资源组为空时,导入工具将取用导入配置项中的设置。(即,优先级:表格设置>导入配置项)

2.2.10 调度资源组(内部ID)

调度资源组内部ID resource.group.inner.identifier在资源组界面上暂时没有透出,根据如下步骤在数据开发页面获取。

image.png

注意,后续在使用工具将调度信息导入目标DataWorks空间时,导入配置项中也存在资源组设置。若表格中资源组设置有值时,导入工具将优先取用表格中的值;在表格中资源组为空时,导入工具将取用导入配置项中的设置。(即,优先级:表格设置>导入配置项)

2.2.11 数据集成资源组(仅DI)

DataWorks数据集成任务需设置集成资源组,在数据开发界面上,该配置项位置如下:

image.png

工具允许通过修改表格中的“数据集成资源组(仅DI)”字段为数据集成任务批量设置集成资源组,资源组ID的获取方式与调度资源组一致,详见2.2.9节。

注意,后续在使用工具将调度信息导入目标DataWorks空间时,导入配置项中也存在资源组设置。若表格中资源组设置有值时,导入工具将优先取用表格中的值;在表格中资源组为空时,导入工具将取用导入配置项中的设置。(即,优先级:表格设置>导入配置项)

2.2.12 数据集成cu(仅DI)

表格中的“数据集成cu(仅DI)”字段允许修改,对应DataWorks数据开发界面中的如下设置:

image.png

注意,后续在使用工具将调度信息导入目标DataWorks空间时,导入配置项中也存在资源组设置。若表格中资源组设置有值时,导入工具将优先取用表格中的值;在表格中资源组为空时,导入工具将取用导入配置项中的设置。(即,优先级:表格设置>导入配置项)

2.3 任务脚本批量修改

节点脚本被集中存储于data/project/script目录下,按节点类型分类保存。

文件名为“工作空间名#任务名称#任务Id”,用户可结合统计报表寻找到需要修改的节点脚本。

按节点类型分类存储有助于用户批量修改同类任务。

image.png

3 导入DataWorks

参考DataWorks跨空间迁移中的任务流导入方案,更新任务流,完成属性批量修改。

DataWorks 跨空间迁移