循环容器

  • Last update:  2022-06-28
  • 1. 概述

    1.1 版本

    FineBI 版本功能变更
    6.0-

    1.2 应用场景

    用户有以下需求时:

    • 使用「数据同步」节点 SQL 取数,数据量非常大的时候,想分段执行。

    • 用 API 数据源取数,API 数据源的参数来自数据库内的一列字段内,API 参数每次只能读取一个参数,所以需要参数赋值支持参数值逐行输出,下方离线同步进行遍历。

    可使用「循环容器」节点实现。

    1.3 功能简介

    「循环容器」节点可满足循环取数的场景。循环包括:

    • 遍历循环:遍历完跳出循环执行。

    • 条件循环:达到条件后跳出循环执行。

    2. 功能介绍

    注:用户若想使用「循环容器」功能,需注册循环容器功能点。详情请参见:FineDataLink注册授权

    2.1 循环容器节点说明

    新增「循环容器」节点,界面如下图所示:

    右键「循环容器」节点,界面如下图所示:

    注:循环容器内不可拖入的节点类型:循环容器、调用任务

    「循环容器」节点设置项介绍如下表所示:

    设置项说明
    循环限制

    默认 128 次,用户可手动调整,上限为 10000 次,不可为空

    超出循环限制后,循环容器运行将报错

    循环方式-遍历循环

    遍历参数输出的结果,循环次数由字段值的个数决定

    • 当遍历值不为空时,继续下一次循环;

    • 当遍历值为空时,结束容器内的循环。

    循环方式-条件循环

    可设置「结束条件」,整体逻辑是先执行一次循环体,再判断条件,循环次数由条件决定

    • 当条件判断返回值为true时,继续下一次循环;

    • 当条件判断返回值为false时,结束容器内的循环。

    遍历对象

    可勾选参数:选择的参数逐行获取值,未选择的参数直接获取值

    可以选择单个或多个参数,限制只能选择容器外的参数

    结束条件

    循环方式选择「条件循环」时,可设置「结束条件」。

    条件中的参数可以是容器外的参数,也可以是容器内的参数

    2.2 参数赋值节点功能调整

    1)调整对象:参数赋值的参数,输出多个值时,格式:{a,b,c,d,e}

    调整前逻辑调整后逻辑
    作为字符串输出
    • 若参数作为循环参数,那么参数值在遍历时是一维数组的形式,可供容器循环获取

    • 若参数赋值的参数在其他场景中使用,还是字符串的形式

    以上调整,对老的功能并无影响,可以兼容老的使用逻辑。

    2)增加参数赋值输出参数的值个数限制

    对「参数赋值」中单个参数输出的字段值个数进行限制,限制最多不能超过 10000 个。

    2.3 容器内参数

    1)新增容器内置变量:

    内置参数
    生效范围定义
    ${loopTimes}循环容器内部容器内当前循环次数,初次为 1 ,后续每次循环递增加 1

    内置参数使用请参见:内置参数
    2)容器内参数

    容器内可以使用「参数赋值」,「参数赋值」输出的值形成容器内的参数:

    • 容器内参数仅可在容器内使用,不可向容器外传递。

    • 容器内参数优先级最高,优先级大于其他所有容器外参数和内置的参数。

    2.4 日志介绍

    任务中若包含循环容器节点,任务运行成功后,日志如下图所示:

    日志具体介绍请参见:日志

    「统计」Tab 页界面如下图所示:

    3. 示例

    示例:将 xiaoshou 表中的「编号」字段作为参数输出,逐条同步到新的表 xunhuan 中,「编号」为空停止输出。

    3.1 数据准备

    示例数据:xiaoshou.xls

    表数据如下图所示:

    3.2 新增参数赋值节点

    1)新建一个 ETL 任务,将「参数赋值」节点拖入到设计界面。「参数赋值」节点具体设置如下图所示:

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

    2)「输出参数」Tab 页设置如下图所示:

    3.3 设置循环容器节点

    3.3.1 新增循环容器节点和数据同步节点

    新增「循环容器」节点,并将「数据同步」节点拖入到「循环容器」中,「循环容器」节点与「参数赋值」节点相连。如下图所示:

    3.3.2 设置数据同步节点

    1)点击「数据同步」节点。具体设置如下图所示:

    SQL 语句为:select * from xiaoshou where 编号 =${aa}

    2)点击「数据去向」Tab 。设置界面如下图所示:

    3.3.3 设置循环容器节点

    点击循环容器节点,循环方式选择「条件循环」,结束条件设置为aa字符串不包含null。如下图所示:

    3.4 运行任务

    点击右上角的「保存并运行」。如下图所示:

    运行成功后,可看到数据库 etlwendy 中新增了一张表 xunhuan。如下图所示:



    Attachment List


    Theme: 数据开发
    前の記事
    次の記事
    • いいね
    • 良くない
    • 閲覧しただけ

    フィードバック

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

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

    不再提示

    10s后关闭

    反馈已提交

    网络繁忙