历史版本13 :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编辑

安装

1)若希望单独使用 FineDataLink 工程,不需要与其他帆软产品集成使用,可采用独立部署方式。

2)若希望将 FDL 部署到 FR 或者 BI 已有工程中,需要采用集成部署的方式。

两种使用方式的优缺点请参见:FineDataLink部署方式介绍

注册

需要在注册管理中注册授权功能点后,才能使用。

开启权限

普通用户若想使用 FineDataLink 功能,需要管理员为用户开启定时任务管理权限,确保用户有使用该功能的权限。

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

简介
参考文档

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

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

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

FDL和FineReport组合应用示例