上云无忧 > 文档中心 > 天翼云数据治理中心 DataArts Studio 数据开发使用教程 - IF条件判断教程
数据治理中心 DataArts Studio
天翼云数据治理中心 DataArts Studio 数据开发使用教程 - IF条件判断教程

文档简介:
本章节主要介绍DataArts Studio的IF条件判断教程操作。 当您在数据开发模块进行作业开发编排时,想要实现通过设置条件,选择不同的执行路径,可使用IF条件判断。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

当您在数据开发模块进行作业开发编排时,想要实现通过设置条件,选择不同的执行路径,可使用IF条件判断。

本教程包含以下三个常见场景举例。

  • 根据前一个节点的执行状态进行IF条件判断
  • 根据前一个节点的输出结果进行IF条件判断
  • 多IF条件下当前节点的执行策略

IF条件的数据来源于EL表达式,通过EL表达式,根据具体的场景选择不同的EL表达式来达到目的。您可以参考本教程,根据您的实际业务需要,开发您自己的作业。

EL表达式用法可参考表达式概述。

根据前一个节点的执行状态进行IF条件判断

场景说明

根据前一个CDM节点是否执行成功,决定执行哪一个IF条件分支。基于下图的样例,说明如何设置IF条件。

作业样例

配置方法

  1. 登录DataArts Studio控制台,找到所需要的DataArts Studio实例,单击实例卡片上的“进入控制台”,进入概览页面。
  2. 选择“空间管理”页签,在工作空间列表中,找到所需要的工作空间,单击工作空间的“数据开发”,系统跳转至数据开发页面。
  3. 在“作业开发”页面,新建数据开发作业,然后分别选择CDM节点和两个Dummy节点,选中连线图标并拖动,编排图上图所示的作业。其中CDM节点的失败策略需要设置为“继续执行下一节点”。
  4. 右键单击连线,选择“设置条件”,在弹出的“编辑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分支后续所有节点。配置完成后点击确定,保存作业。

配置失败策略

  1. 测试运行作业,并前往实例监控中查看执行结果。
  2. 待作业运行完成后,从实例监控中查看作业实例的运行结果,如下图所示。可以看到运行结果是符合预期的,当前CDM执行的结果为fail的时候,跳过A分支,执行B分支。

作业运行结果

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部