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

目录:

1. 什么是数据开发编辑

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

40.png

2. 数据开发介绍编辑

10.png

2.1 支持的数据源

数据开发支持多种数据源,可以将多种来源数据进行数据处理和集成。

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

1687256306304475.png

2.2 任务管理

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

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

1686122238256656.png

2.3 任务开发

1687256430812039.png

2.3.1 价值场景示例

1)实现跨数据源批量 同步数据

1687256531821841.png

2)提供多种数据转换算子,灵活处理数据。

下图中的算子介绍请参见本文 2.3.2 节内容。

1687256557961137.png

3)支持JSON解析,一键解析半结构化数据。

1687256789103015.png

4)支持Spark SQL,覆盖更多数据转换场景。

72.png

5)循环容器,支持对数据遍历循环。

1687256870330572.png

6)对接企微,实现数据找人。

74.png

7)支持 SQL 脚本,对数据库进行增删改。

75.png

8)支持调用 shell 脚本,对接外部的独立数据处理过程。

76.png

2.3.2 节点介绍

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

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. FineDataLink 如何助力报表开发与应用编辑

场景FineReport 现状FineDataLink 方案
数据生产方降低性能压力业务系统数据库读写一体,性能压力大

FR 直接连接业务系统数据,可能会对业务系统造成性能压力,甚至妨碍业务流程


实时报表:

将业务数据实时同步到中间库,再通过 FR 直接连接中间库进行数据展示,实现了数据读写分离,兼顾了时效性和性能,提高业务库的安全性和稳定性

非实时报表:

使用 FDL 的「数据转换」功能,将复杂的数据处理和计算过程放在 FDL 中完成,并将结果同步到中间库表中进行定期更新。报表直接对接中间库取数,减小计算耗时,提升展现速度

报表数据采集自动化批量采集业务系统数据使用「定时调度+填报报表」完成业务系统的数据采集和定时装载数据库,任务配置成本高、采集效率低使用 FDL 数据同步 批量采集数据,将「数据生产层-业务系统」和「数据目标层-数据仓库」完成连接,定时自动完成数据采集

数据开发与应用存在部门墙

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

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

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

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

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

1)通过 FDL 数据关联 加工处理打破数据之间的壁垒,再由 FR、FVS 进行数据展现;其一降低 FR 数据处理复杂度、其二提升报表展现速度

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


可视化数据处理提升运维可行性

1)当报表数据集使用高复杂度 SQL 进行数据处理时,比如:若新数据集需要使用旧数据集的结果,会导致 SQL 层层嵌套,使 SQL 开发和后期维护成本指数级提升

2)抽数任务可能会中断,导致数据不全

1)使用 FDL 可视化方式完成数据加工并进行业务注释,报表内仅保留获取结果表的 SQL ,降低开发成本和后期维护成本

2)FDL 提供 全局任务监控平台 ,可以看到每个任务的运行状态和详情;任务/节点的运行结果可及时 通知提醒 ,支持短信、钉钉、企微等,实现任务找人

  • 数据开发——借助预警功能,任务失败及时提醒管理员处理,利用比对更新,重新同步数据。(需要人工干预)

  • 实时同步——借助数据管道的「断点续传」功能,任务失败后能自动触发同步(无需人工干预)

报表使用报表加载慢报表模板使用的数据集多,过滤条件多非实时报表:借助 FDL 的 数据转换 功能,将复杂的数据处理、计算的过程放在 FDL 中实现,减小计算耗时,提升展现速度
报表资产沉淀数据集资产沉淀

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

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

使用 FDL 的 数据服务 功能,将报表中的数据通过 API 分享给其他业务系统按需使用,如企业的报表数据需要分发/订阅给其上下游供应链的业务系统等

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

帆软产品组合应用读取简道云数据

将数据同步到简道云

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

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

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

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

4. 如何体验 FineDataLink编辑

Demo体验:FineDataLink数据平台

FineDataLink了解试用:FineDataLink 了解试用

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

简介
参考文档

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

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

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

FDL和FineReport组合应用示例