数据治理中心 DATAARTS STUDIO-IF条件判断教程:根据前一个节点的执行状态进行IF条件判断
根据前一个节点的执行状态进行IF条件判断
场景说明
根据前一个 CDM 节点是否执行成功,决定执行哪一个IF条件分支。基于图1的样例,说明如何设置IF条件。
配置方法
- 登录 DataArts Studio 控制台,找到所需要的DataArts Studio实例,单击实例卡片上的“进入控制台”,进入概览页面。
- 选择“空间管理”页签,在工作空间列表中,找到所需要的工作空间,单击工作空间的“数据开发”,系统跳转至数据开发页面。
- 在“作业开发”页面,新建数据开发作业,然后分别选择CDM节点和两个Dummy节点,选中连线图标
并拖动,编排图1所示的作业。
其中CDM节点的失败策略需要设置为“继续执行下一节点”。
图2 配置CDM节点的失败策略 - 右键单击连线,选择“设置条件”,在弹出的“编辑EL表达式”文本框中输入IF条件。
每一个条件分支都需要填写IF条件,IF条件为通过EL表达式语法填写三元表达式。当三元表达式结果为true的时候,才会执行连线后面的节点,否则后续节点将被跳过。
此Demo中使用的EL表达式为“#{Job.getNodeStatus("node_name")}”,这个表达式的作用为获取指定节点的执行状态,成功状态返回success,失败状态返回fail。本例使用中,IF条件表达式分别为:
- 上面的A分支IF条件表达式为: #{(Job.getNodeStatus("CDM")) == "success" ? "true" : "false"}
- 下面的B分支IF条件表达式为:#{(Job.getNodeStatus("CDM")) == "fail" ? "true" : "false"}
输入IF条件表达式后,配置IF条件匹配失败策略,可选择仅跳过相邻的下一个节点,或者跳过该IF分支后续所有节点。配置完成后单击确定,保存作业。图3 配置失败策略 - 测试运行作业,并前往实例监控中查看执行结果。
- 待作业运行完成后,从实例监控中查看作业实例的运行结果,如图4所示。可以看到运行结果是符合预期的,当前CDM执行的结果为fail的时候,跳过A分支,执行B分支。