历史版本11 :条件分支 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]5456[/helpvideo]

1.1 版本说明

FineDataLink 版本功能变动
2.0ETL 作业新增一种节点类型:「条件分支」
4.0.19「条件分支」中,支持定义的参数类型,从日期、字符串、整型、双精度型、布尔型,改为日期、文本、数值、布尔

1.2 应用场景

在进行数据开发时,可能需要进行条件判断,基于某个变量作为判断的条件,将节点与上游节点、其他任务建立联系,灵活地控制节点运行的前提。

例如:

  • 使用条件分支进行判断,当某个部门销售额达到一定值时,将该部门标记为优秀。

  • 使用条件分支进行判断,基于任务1执行的结果(success\fail),判断是否执行任务2。

  • 获取数据库中当天的宕机次数,使用条件分支进行判断,根据指定条件判断当天宕机次数应该如何标记写入数据库。

1.3 功能简介

「条件分支」节点基于一个来自于上游或者系统的条件,判断是否继续运行下游节点或者运行下游节点里面的哪一个。当满足条件判断结果时,执行下游节点,否则,不执行下游节点。

不满足分支条件时,未执行的下游节点不等同于运行失败,不影响整体任务的运行。

2. 功能说明编辑

设置项描述
下游节点

当条件判断通过时,运行对应下游节点,否则不运行。

判断条件

使用「条件分支」节点必须保证定时任务有参数,因为「条件分支」节点的条件是通过参数设置的。

条件判断返回的值为布尔型:true 或 false,

  • 当返回值为true时,执行下游节点。

  • 当返回值为false时,不执行下游节点。

  • 判断条件默认返回 null ,即无判断,直接执行下游节点。

判断条件中支持使用内置参数,可以直接在条件配置中可以输入参数名,格式为 ${参数名称}。

注:某个条件可以由多个条件用且、或的关系组成。

基于不同的参数类型,提供不同的判断条件:

参数类型可选择的判断条件
字符串属于、不属于、包含、不包含、开头是、结尾是、开头不是、结尾不是、为空、非空
日期属于、不属于、某个日期之前、某个日期之后、等于、不等于、为空、非空
数值(整型、双精度型)介于、不介于、等于、不等于、大于、小于、大于等于、小于等于、为空、非空
布尔等于、不等于


分支描述对分支的定义进行简要说明。

3. 操作步骤编辑

此处给出一个示例(当天的日期时2022-11-29),每天根据机台的宕机次数,将机台对应的维护级别写到另一张表里。

3.1 数据库表说明

示例任务用到两张表,其表名称和字段的说明分别如下:

edown:模拟生产环境,某个机台每天的宕机次数会自动录入该表。

4.png

estatus:每天根据 edown 表里的宕机次数,将机台维护级别写到这个表里,不同宕机次数对应的级别不同,需要进行判别。

5.png

3.2 设置参数

1)创建一个定时任务,将一个参数赋值节点拖到设计界面,如下图设置数据来源,SQL 语句的作用是将当天机台宕机次数取出来,并输出为参数。

2)如下图设置输出参数,使用右侧的参数预览可直接查看输出的参数结果,并将节点重命名为:获取当天宕机次数。

3.3 级别入库

1)将一个SQL脚本」节点拖到设计界面,如下图设置,SQL 语句的作用是:将当天日期和正常级别写到 estatus 表里,并将节点重命名为:正常级别入库。

2)再将一个SQL脚本」节点拖到设计界面,如下图设置,SQL 语句的作用是:将当天日期和一般级别写到 estatus 表里,并将节点重命名为:一般级别入库。

3)再将一个SQL脚本」节点拖到设计界面,如下图设置,SQL 语句的作用是:将当天日期和严重级别写到 estatus 表里,并将节点重命名为:严重级别入库。

3.4 设置条件

1)将一个条件分支」节点拖到设计界面,上游跟参数赋值节点连线,下游跟三个SQL脚本节点连线。

此时点击条件分支节点打开设置界面后,可以看到多了三个分支,分别对应到下游的三个节点,可以给每个分支设置判别条件,决定执行哪一个。

2)先设置第一个分支的判别条件,当宕机次数等于 0 时,就执行该分支,如下图所示:

44.png

其他两个分支同理设置,只是条件不同,最终设置好的效果如下图所示,并将节点重命名为:级别判定。

3.5 运行任务

当天的宕机次数是 6,保存并运行任务,日志处可以看到只执行严重级别入库,其他两个入库节点直接跳过了。

12.png

任务运行成功后,可以看到 estatus 表多了一条今天的记录,如下图所示:

13.png

4. 注意事项编辑

4.1 常量条件值

直接输入常量类型的条件值,和定义参数时输入的常量格式保持一致,具体要求如下表所示:

类型
示例备注
数字-单个1
数字-数组1.4,2.6,4.8,5.6
数字间用英文逗号隔开
文本-单个文本1
文本-多个'文本1','文本2'文本加单引号,用英文逗号隔开

用文本常量值举个例子,设置如下图所示:

14.png

5. 最佳实践编辑

条件分最佳实践详情参见:使用条件分支获取优秀员工信息