1)在 步骤流 中,右键点击节点连线,提供「无条件执行」、「成功时执行」、「报错时执行」的节点连线配置
2)在 步骤流 中,右键点击节点,新增「执行判断」按钮,支持自定义多执行条件的生效方式(全部逻辑与、全部逻辑或),灵活控制任务中节点的依赖关系
用户希望 ETL 任务执行失败后,可以自定义错误处理流程。比如 ETL 任务执行失败后,在企业微信群中通知。
如下图所示:
将连线的始端称为上游节点,连线的末端称为下游节点。
在 步骤流 中,右键点击节点连线,提供「无条件执行」、「成功时执行」、「报错时执行」的节点连线配置。如下图所示:
具体说明如下表所示:
注:默认成功时执行。
在 步骤流 中,右键点击节点,新增「执行判断」按钮,支持自定义多执行条件的生效方式(全部逻辑与、全部逻辑或),灵活控制任务中节点的依赖关系。如下图所示:
下游节点被多个上游节点连接时,点击「执行判断」按钮,下拉框可选择「所有」和「任一」,分别对应两个生效逻辑,「全部逻辑与」和「全部逻辑或」。
全部逻辑与:下游节点在所有上游节点执行结果均满足连线执行条件时触发执行。
全部逻辑或:下游节点在任一上游节点执行结果满足连线执行条件时触发执行(在下游节点处集中配置)。
1)下游节点被一个上游节点连接时,该上游节点执行结果满足其连线执行条件,则触发下游节点执行。
2)下游节点被多个上游节点连接时,在所有上游节点执行完成后触发判断,按照选择的生效逻辑执行:
3)「条件分支」节点只允许选择「成功时执行」,没有「失败时执行」和「无条件执行」:
连线条件为「成功时执行」且符合条件分支配置条件,则触发执行对应下游节点
连线条件为「成功时执行」但不符合条件分支配置条件,则跳过执行下游节点
4)虚拟节点默认为「成功时执行」,没有「失败时执行」和「无条件执行」,虚拟节点如果执行,必然执行成功。
ETL 任务设计如下图所示:
ABCD构成了一对多场景,其执行策略如下:
注:A 不是条件分支节点。
终止执行
如:执行至 A 节点时,任务手动停止
跳过执行。如:
1)A 上游不是条件分支节点,且执行结果不满足连线执行条件
2)A 上游是条件分支节点,且判断后不走 A分支
ABCD构成了多对一场景,其执行策略如下:
注:A\B\C均不是条件分支节点;在所有上游节点执行完成后触发判断。
A-C 的配置为成功时执行,A-D 的配置为失败时执行,B-C 的配置为成功时执行,B-D 的配置为失败时执行,「多执行条件生效方式」配置为「全部逻辑与」。如下图所示:
执行策略:A 执行成功且 B 执行成功时,C 执行,D 不执行;A 执行失败且 B 执行失败时,D 执行,C 不执行;A 执行成功且 B 执行失败时,C 和 D 都不执行。
升级后,对于所有节点连线,都统一将连线的执行条件设为成功时执行,「多执行条件生效方式」配置为「全部逻辑与」。
示例:如果上游节点运行成功,则执行下一个节点,如果失败,则发送消息通知。
参考 第一个ETL任务的开发 文档的 2.1-2.4 节内容,作为示例基础,用以展示连线执行判断功能。
1)新增「消息通知」节点,与「salesum建表节点」连接起来。
2)右键点击「消息通知」节点和「salesum建表节点」之间的连线,选择「报错时执行」。如下图所示:
3)「消息通知」节点设置如下图所示:
点击右上角的「保存并运行」。如下图所示:
此时「salesum建表」节点执行成功,「消息通知」节点被跳过执行。
MySQL 数据库中生成了两个表:
salecopy:
salesum:
1)修改「salesum建表」节点的 SQL 语句,将 SQL 语句改为无法执行的 SQL 。如下图所示:
2)点击右上角的「保存并运行」。如下图所示:
此时「salesum建表」节点执行失败,「消息通知」节点执行成功。
企业微信群中,消息通知给设置的群成员。如下图所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy