历史版本11 :参数输出 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]5451[/helpvideo]

1.1 版本

FineDataLink 版本功能变动
4.0.13-

1.2 应用场景

参数赋值 可以将上游节点的结果输出至下游节点使用,但有些数据需要进行进一步处理才能作为参数输出,并不能直接输出参数。

用户期望能够对数据进行处理后直接输出参数,不需要将处理结果输出数据库在从数据库取值作为参数。

1.3 功能简介

FineDataLink 支持在「数据转换」中直接进行参数输出。

注:参数使用的约束限制与「参数赋值」相同,详情参见:参数赋值

2. 操作步骤编辑

示例为将 API 数据进行解析处理后,将满足条件的数据设置为参数,并将数据库表中满足参数条件的数据取出至指定数据库。

  • http://fine-doc.oss-cn-shanghai.aliyuncs.com/book.json 数据需要进行解析并取出isbin 不为空的数据;

  • 将这些数据中的 author 作为参数输出,并输入给 book 数据表中;

  • 从中取出满足参数条件的数据,输出至 boook_out 数据表中。

2.1 数据处理

新建定时任务,将数据转换拖入画布中,如下图所示:

进入「数据转换」节点编辑界面,将「API输入」功能拖入画布,并进行取数设置,示例中使用了http://fine-doc.oss-cn-shanghai.aliyuncs.com/book.json,如下图所示:

选择「JSON解析」节点,和 API输入节点连接,并选择需要的节点,示例中选择了book相关内容,如下图所示:

点击「数据预览」即可看到解析好的数据,如下图所示:

使用「SparkSQL」取出 isbn 不为空的数据,如下图所示:

select * from JSON解析
where `isbn` is not null

注:sql 语句需要手动选择输入源。

此时即可在预览界面看到经过解析的 isbin 不为空的 book 层级数据,如下图所示:

2.2 输出参数

选择「参数输出」功能,将 author 设置为参数,参数名命名为「author」,如下图所示:

2.3 使用参数同步数据至数据库

由于 2.2 节输出的参数有多个参数值,因此需要使用循环容器功能,将多个参数值一个个传入数据同步中。

新增循环容器节点,并将数据同步节点拖入循环容器,然后与上一个节点数据转换连接,如下图所示:

在数据同步节点,数据表 book 中取出满足参数条件 author 的数据。

book 数据表如下图所示:

SQL 语句为:select * from book where author='${author}',如下图所示:

选择数据去向,设置输出数据表为 book_out,如下图所示:

选中循环容器,选择遍历对象为「author」,设置循环方式和循环限制,如下图所示:

2.4 执行任务

保存并运行,可以看到数据表 book_out 中取出了满足参数条件的 author 数据,如下图所示:

3. 应用扩展编辑