反馈已提交

网络繁忙

条件分支

  • 文档创建者:Wendy123456
  • 历史版本:17
  • 最近更新:Wendy123456 于 2024-08-06
  • 1. 概述

    1.1 版本说明

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

    1.2 应用场景

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

    例如:

    • 当某个部门销售额达到一定值时,将该部门标记为优秀。

    • 基于任务 1 执行的结果(success\fail),判断是否执行任务 2 。

    • 当离职人员数据达到 N 条时,将该部门的稳定性标记为风险。

    1.3 功能简介

    「条件分支」节点需要与 参数 配合使用,当参数的值符合某个条件时,运行下游节点或者运行下游节点里面的哪一个;当参数值不符合某个条件时,跳过执行下游节点,未执行的下游节点不等同于运行失败,不影响整体任务的运行。

    23.png

    demo 示例详情参见:https://demo.finedatalink.com/  「条件分支-副本」

    2. 使用说明

    2.1 准备参数

    参数说明请参见:参数概述

    「条件分支」节点需要与参数配合使用,当参数的值符合某个条件时,运行下游节点或者运行下游节点里面的哪一个。

    需注意:

    1)若参数值为一个,设置参数后,后接一个「条件分支」节点或直接使用条件分支节点判断如何运行后续节点即可。如下图所示:

    1722925239420594.png

    2)若参数值为多个,由于条件分支节点每次只能使用一个参数值进行判断,需要将「条件分支」节点及后续要判断是否运行的节点放到「循环容器」节点中,由循环容器节点遍历所有参数值。如下图所示:

    1722925271906701.png

    2.2 条件分支节点设置项说明

    条件分支节点设置项如下图所示:

    26.png

    2.2.1 下游节点

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

    2.2.2 判断条件

    1)判断条件说明:

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

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

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

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

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

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

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

    注:4.1.1 及之后版本,产品内条件判断逻辑进行了统一,每个判断条件的说明可参见:条件判断逻辑说明

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

    4.1.0 及之后版本,添加参数时,可通过折叠树选择参数,可选的参数类型:任务内参数、全局参数内置参数。如下图所示:

    1722913840400263.png

    3)常量条件值说明:

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

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

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

    1722926126877589.png

    2.3 设置后续运行节点

    用户根据实际情况设置条件分支后需要运行的节点。

    3. 操作步骤

    本文示例:每天根据机台的宕机次数,将机台对应的维护级别写到另一张表里(任务运行当天,日期为2024-08-06)

    3.1 数据库表说明

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

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

    1722912909824734.png

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

    1722913054197789.png

    机台维护级别说明如下:

    • 宕机次数为0:正常级别。

    • 宕机次数大于3:严重级别。

    • 其他:一般级别。

    3.2 设置参数

    由于不同宕机次数对应的级别不同,需要通过宕机次数判断机台维护级别。因此,需要将宕机次数作为参数输出,便于后续「条件分支」节点根据宕机次数判断机台维护级别。

    1)新建定时任务,拖入参数赋值节点,将当天机台宕机次数取出。如下图所示:

    9.png

    点击数据预览,如下图所示:

    10.png

    2)将宕机次数输出为参数。如下图所示:

    注:参数建议设置调试值,便于后续节点引用参数后查看效果;调试值不参与实际运行。

    11.png

    3)给该节点添加备注:获取当天宕机次数。如下图所示:

    12.png

    3.3 级别入库

    1)拖入一个SQL脚本」节点,将当天日期和正常级别写到 estatus 表里,并给节点备注为:正常级别入库。如下图所示:

    13.png

    2)再拖入一个SQL脚本」节点,将当天日期和一般级别写到 estatus 表里,并给节点备注为:一般级别入库。如下图所示:

    14.png

    3)拖入一个SQL脚本」节点,将当天日期和严重级别写到 estatus 表里,并给节点备注为:严重级别入库。如下图所示:

    15.png

    3.4 设置条件分支

    1)在参数赋值节点和SQL脚本节点之间,拖入条件分支」节点;上游跟参数赋值节点连线,下游跟三个SQL脚本节点连线。如下图所示:

    1722923975149631.png

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

    17.png

    2)先设置SQL脚本节点的判别条件,当宕机次数等于 0 时,就执行该分支。如下图所示:

    18.png

    相同步骤,设置另外两个「SQL脚本」节点的执行条件。如下图所示:

    19.png

    3.5 效果查看

    点击运行按钮,任务执行成功后,日志如下图所示:

    20.png

    2024-08-05 的宕机次数为 6,将只执行严重级别入库的SQL脚本节点,剩余两个SQL脚本节点跳过执行。如下图所示:

    1722924888103169.png

    estatus 表数据如下图所示:

    1722924739698458.png

    4. 最佳实践

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


    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持