历史版本14 :FineDataLink数据开发 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 什么是数据开发编辑

「数据开发」是 FineDataLink 产品中的一个功能点,可通过 SQL 和可视化的方式,完成 ETL 任务的开发和步骤编排。

40.png

2. 数据开发介绍编辑

45.png

2.1 支持的数据源

支持数据读取和数据写入的数据库请参见:FineDataLink支持的数据源 第三章内容

2.2 任务管理

数据开发中通过「定时任务」存放设计好的业务流程。

通过「文件夹」对定时任务进行管理。

1686122238256656.png

2.3 任务开发

任务开发界面如下图所示:

46.png

节点介绍如下表所示:

分类节点说明
通用数据同步
  • 适用于较大数据量的同步场景,当单表数据量超过 1kw 时,推荐使用数据同步

  • 适用于没有复杂处理逻辑的数据同步场景

数据转换

当数据需要利用 FDL 完成复杂场景处理时,推荐使用数据转换

脚本SQL 脚本通过写 SQL 的形式,完成对表和数据的处理,例如:创建、更新、删除、读取、关联、汇总等操作
shell脚本

支持通过执行 Shell 脚本,对接外部的独立数据处理过程

例如 SVN 更新、文件运维清理、调用 Kettle 任务、调用 Python 计算任务、调用 Spark 计算任务、执行数据库备份还原等

流程参数赋值

参数赋值节点通过数据来源将需要赋值的数据取出,并为参数赋值

将获取到的数据输出为参数,下游节点可以利用公式使用参数值

条件分支
基于配置的执行条件,判断是否运行下游节点
调用任务调用平台内其他定时任务,完成跨任务的调度执行
循环容器在容器内对节点执行遍历循环、条件循环,满足节点循环执行的场景
消息通知

自定义通知内容,通知指定渠道的用户

通知渠道:邮件/短信/企业微信应用推送/企业微信群机器人/钉钉应用推送/钉钉群机器人

通知内容:可自定义

虚拟节点空操作,无实际意义,常用于多分支到多分支场景的实现
其他备注说明可帮助用户为任务、节点增加备注

其中,「数据转换」节点提供输入、输出、转换等类型的算子,可实现复杂的数据处理。如下图所示:

47.png

「数据转换」中的算子介绍如下表所示:

分类算子说明
数据输入DB表输入
读取关系型数据库表中的数据
API输入从 API 中读取数据,支持 RESTful API 和 WebService API
文件输入从 FineDataLink 服务器本地和 FTP/SFTP 服务器上读取 Excel、CSV、Txt 文件数据
简道云输入读取简道云表单中的数据
MongoDB输入读取 MongoDB 中指定集合的数据
SAP RFC输入支持通过 RFC 接口调用 SAP 系统内已经开发好的函数,并将数据取出
数据集输入支持读取文件数据集(Excel、TXT、XML、CSV)、树数据集、存储过程、程序数据集、内置数据集、关联数据集。其中存储过程、程序数据集、内置数据集、关联数据集仅在FineReport设计器可定义
数据输出DB表输出
将数据输出到关系型数据库表
参数输出将取到的数据输出为参数,供下游节点使用
API输出将数据输出到API
简道云输出将数据输出到简道云表单
连接数据关联

用户两张数据表在不同的数据库中,希望能够将两张不同来源库的表进行关联生成新表。连接方式如下:

  • 左连接(LEFT JOIN):左合并

  • 右连接(RIGHT JOIN):右合并

  • 内连接(INNER JOIN):取交集

  • 全外连接(FULL OUTER JOIN):取并集

数据比对将 2 个输入的数据进行比较,筛选出新增、删除、相同、更新的数据
转换列转行
实现数据表行列结构的改变,列转行
行转列实现数据表行列结构的改变,行转列
JSON解析解析 JSON 结构的数据,输出行列格式的数据
XML解析将 XML 格式数据解析为行列格式数据
字段设置可实现数据流字段的选择、重命名、数据类型转换操作
新增计算列在不影响原有字段的情况下,可利用原有字段通过引用或计算获得一个新的字段
数据过滤过滤符合条件的数据记录
JSON生成选择字段,将表单数据,转换为生成多个 JSON 对象,用户可以在其中配置多层 JSON 嵌套
实验室
Spark SQLSpark SQL 基于内置的 Spark 计算引擎,满足用户查询数据、处理数据的需求,支持使用参数、函数
其他备注说明
可帮助用户为任务、节点增加备注

2.4 任务调度

提供了定时调度功能,可以定期自动运行定时任务,以保证数据能够及时更新。

  • 开始时间:设置任务开始执行时间

  • 执行频率:任务执行频率

  • 结束时间:设置任务结束执行时间

  • 结果通知:对调度任务运行后的执行结果,如果执行失败会进行通知

详细介绍请参见:定时任务调度配置

1686121968246602.png

2.5 任务运维

任务支持灵活调度、运行状态实时监控,便捷的操作将会释放运维人员巨大的工作量。

  • 运行记录:可以通过筛选和搜索的方式查看任务运行状态、运行耗时以及任务运行的历史日志。

  • 任务管理:查看任务调度配置情况。

  • 资源控制:限制「数据平台」占用的内存和带宽,减弱在集成部署下对 FineReport 或 FineBI 服务的影响。同时在独立部署时,可控制数据开发所占用的内存资源。

详细介绍请参见:定时任务运维

49.png

3. 如何帮助报表制作人员处理数据编辑

场景
FineReport现状FineDataLink方案
开发成本高多源异构数据的展现分析

1)当报表应用的数据来源于多个数据库时,通过 FR 内单元格过滤完成数据关联分析,操作成本较高,并且可能会引起报表加载性能下降

2)接口数据难调用,需要依靠代码实现

1)当报表应用的数据来源于多个数据库时,可以通过 FDL 数据关联加工处理打破数据之间的壁垒,再由 FR、FVS 进行数据展现;其一降低 FR 数据处理复杂度、其二提升报表展现速度

2)FineDataLink 可以从 API 中取数,并对取出的 JSON 格式或者 XML 格式数据解析为二维表,然后使用其他可视化算子对数据进行进一步处理和计算

自动化批量采集业务系统数据使用「定时调度+填报报表」完成业务系统的数据采集和定时装载数据库,任务配置成本高、采集效率低使用 FDL「数据同步」批量采集数据,将「数据生产层-业务系统」和「数据目标层-数据仓库」完成连接,定时自动完成数据采集
报表加载慢过滤条件多,SQL 复杂当报表数据集使用高复杂度 SQL 进行数据处理时,比如:若新数据集需要使用旧数据集的结果,会导致 SQL 层层嵌套,使 SQL 开发和后期维护成本指数级提升使用 FDL 可视化方式完成数据加工并进行业务注释,报表内仅保留获取结果表的 SQL ,降低开发成本和后期维护成本
数据集数量多(比如大于10个数据集)FR 直接连接业务系统数据,会对业务系统造成性能压力,妨碍业务流程

实时报表:利用数据管道将业务数据实时同步到中间库,实现读写分离,再用FR直连中间库做数据展示;这样可兼顾时效性和性能,对业务库来说提高了安全性和稳定性

非实时报表:借助 FDL 的「数据转换」功能,将复杂的数据处理、计算的过程放在 FDL 中实现,最终同步到一张中间库表中,定时更新数据,报表直接对接中间库取数,减小计算耗时,提升展现速度

数据和开发存在部门墙-

1)数据部门提供的数据,数据处理的粒度比较粗,不支持报表开发直接应用

2)报表开发部门和数据处理ETL部门彼此独立,存在部门墙,沟通效率低,需求响应周期长

引导开发人员自己处理数据,FDL易上手,能够对接多种数据源,IT部门可以自行对已有数据进行二次处理(跨库关联、过滤、汇总、比对删除、行列转换等等),缩短开发周期,提升开发效率
数据对外发布-

1)报表模板数据集,针对单一报表进行设计开发,导致不同报表的模板数据集相同,重复对接业务系统读取数据

2)内部数据,外部系统难调用

借助 FDL 的数据服务功能,将二维表数据转换成 API 接口对外发布,供其他系统调用,构建企业数据资产

降低报表系统开发量、提升数据集复用率

帆软产品组合应用

读取简道云数据

将数据同步到简道云

FR 同步表单数据时,只支持 MySQL 数据库

表单数据同步到数据库后,再通过 FR 抽取计算展示,操作成本较高

FDL 的简道云输入算子,可读取简道云数据,与其他算子配合,可对数据进行处理计算,再输出到 MySQL、Oracle、SQL Server 等数据库中

FDL 的简道云输出算子,可将处理后的数据输出到简道云中,供简道云使用

4. 如何使用 FineDataLink编辑

Demo体验:FineDataLink数据平台

FineDataLink了解试用:FineDataLink 了解试用

5. 帆软产品组合应用编辑

简介
参考文档

某贸易公司交易员使用 FineReport 填报模板,将新产生的订单或修改数据录入到补录表中,补录表需要将最新数据同步到数据库表中,数据分析工具使用数据库表中的数据进行展示,用户需要数据展示的数据尽量保持最新

FR填报补录数据后,FDL任务轮询更新

主要介绍业务系统数据经过 FineDataLink 处理落库后,FineReport 调用该数据进行报表开发的全流程

FDL和FineReport组合应用示例