智能ETL节点
1. 概述
进入离线开发任务编辑页面后,可在左侧将「智能ETL」节点拖入画布并进行配置。
本章节详细介绍智能ETL节点的配置项。
2. 节点配置
为当前的任务节点填写基本信息(非必填),在输入框中填写节点名称、描述,这些信息可以帮助您更好地理解和管理节点,使整个离线开发任务的流程更加清晰和易于维护。
-
选择需要调度的智能ETL
-
支持查看/替换节点中的ETL:
- 查看ETL:点击"智能ETL"中的任务名后,跳转至ETL任务页。
- 替换ETL:点击"智能ETL"右侧的「替换」按钮,重新指定ETL作为工作流的任务节点。
提示:
- 需确保ETL所有者与当前工作流的所有者一致、且未被其他工作流引用时,方可进行选择/替换。
- 如工作流所有者为普通用户,在选择ETL弹窗中展示的ETL即是该用户具备所有者权限的ETL。
- 如工作流所有者为管理员(或管理员去编辑所有者为普通用户的工作流),当前选择ETL弹窗中仍会展示全量ETL,此时需选择工作流所有者具备所有者权限的ETL。
- 通过工作流中引用ETL后,该ETL原更新策略将自动失效,并更改为「跟随工作流更新」。
-
输入/输出配置
选择ETL后,平台将自动解析并展示ETL的输入数据集及输出数据集列表,并可基于业务场景需要,对原ETL的输入/输出进行数据筛选/替换等操作。
-
输入配置
节点输入数据集:通过工作流运行当前ETL时,实际传入的输入数据。默认情况下,节点输入数据集即为ETL的原输入数据集。
如需对节点输入数据集进行替换,或按需进行数据筛选:单击「输入 > 修改」按钮:
-
替换:替换节点输入数据集,可替换范围为当前工作流所有者具备所有者/使用者权限的所有Guan-index类型数据集(与ETL输入数据集可选择范围相同)。
-
编辑规则:通过筛选条件对当前数据集进行过滤,支持引用全局参数、工作流参数(详见本文工作流参数相关内容)、时间宏。
-
输出配置
节点输出数据集:通过工作流运行当前ETL时,实际存储运行结果数据的离线开发数据集。
默认情况下(即不开启输入替换时),节点输出数据集即为ETL的原输出数据集,运行ETL时,数据将直接写入到ETL默认输出数据集中。
如需对输出数据集做增量更新,或保证数据结构不变的情况下进行全量更新,需勾选「输出替换」,并进行待替换的输出数据集配置:
开启「输出替换」后,ETL运行产生的数据将按照「输出替换」配置,以增量/全量的方式输出至替换后的数据集中(原ETL输出数据集将不再执行数据写入)。
-
选择目标输出数据集:
-
注册数据:目标输出数据集不存在时,选择注册数据模式,填写数据集名称、存储路径、主键(选填)等信息,新建高级调度数据集后,后续将执行更新数据逻辑。
-
-
更新数据:目标输出数据集存在时,选择更新数据模式,直接引用待替换的目标数据集,并对数据集进行更新。
-
支持「字段映射」,对ETL的输出字段与目标数据集字段进行同名映射,并对字段映射进行修改。
-
输出可选择数据集范围:工作流所有者具备所有者权限的离线开发数据集。
-
-
后续更新方式:在选择或创建节点输出数据集后,后续对该数据集的更新方式。
- 全量更新:清空目标数据集历史数据后进行写入
- 增量更新:保留目标数据集已有数据再写入
-
若数据集设置了主键,写入时将会根据主键进行去重
-
支持配置「前置清理规则」,在数据写入前,按照前置清理规则清理数据后,再执行增量更新。
-
3. 运行选项
根据任务的复杂性和运行环境的实际情况,选择合适的"运行标志"和"任务算子ETL节点运行的超时限制"可以提高任务的执行效率和可靠性。
-
运行标志:根据调度需求设置对应节点在运行时的执行策略:
- 禁止执行:工作流运行至该节点后将直接跳过执行,常用于临时数据问题排查、部分任务运行控制等场景。
- 正常:按照既有调度策略运行该节点,节点默认运行标志。
-
超时设置:支持自定义超时时间/跟随全局超时时间,若在设定时间内ETL未运行完成,将自动进行kill,避免长时间占用任务队列或计算资源,阻塞其他任务的正常运行。