多IF条件
解释说明
节点执行依赖多个IF条件的处理策略,配置默认策略操作如下。
- 在数据开发主界面的左侧导航栏,选择“配置管理 > 配置”。
- 单击“默认项设置”,可设置多IF策略配置项。
- 单击“保存”,对设置的配置项进行保存。
教程案例
如果当前节点的执行依赖多个IF条件的节点,执行的策略包含逻辑或和逻辑与两种。
当执行策略配置为逻辑或,则表示多个IF判断条件只要任意一个满足条件,则执行当前节点。
当执行策略配置为逻辑与,则表示多个IF判断条件需要所有条件满足时,才执行当前节点。
如果没有配置执行策略,系统默认为逻辑或处理。
配置方法
配置执行策略
- 登录控制台,找到所需要的实例,单击实例卡片上的“进入控制台”,进入概览页面。
- 选择“空间管理”页签,在工作空间列表中,找到所需要的工作空间,单击工作空间的“数据开发”,系统跳转至数据开发页面。
- 在数据开发模块,单击“配置管理 > 配置”,单击“默认配置”。
- “多IF策略”可设置为“逻辑与”或者“逻辑或”。
- 单击“保存”。
开发作业
- 在“作业开发”页面,新建一个数据开发作业。
- 拖动三个DLI SQL算子作为父节点,一个RDS SQL算子作为子节点,选中连线图标
并拖动,编排图1所示的作业。
- 右键单击节点间的连线,选择“设置条件”,在弹出的“编辑EL表达式”文本框中输入IF条件。
每一个条件分支都需要填写IF条件,IF条件为通过EL表达式语法填写三元表达式。
- test1节点IF条件表达式为:#{(Job.getNodeStatus("test1")) == "success" ? "true" : "false"},
- test2节点IF条件表达式为:#{(Job.getNodeStatus("test2")) == "success" ? "true" : "false"},
- test3节点IF条件表达式为:#{(Job.getNodeStatus("test3")) == "success" ? "true" : "false"},
此处表达式均采用前一个节点的执行状态进行IF条件判断。
输入IF条件表达式后,配置IF条件匹配失败策略,可选择仅跳过相邻的下一个节点,或者跳过该IF分支后续所有节点。
测试运行作业