1. 什么是数据开发编辑
「数据开发」是 FineDataLink 产品中的一个功能点,可通过 SQL 和可视化的方式,完成 ETL 任务的开发和步骤编排。
2. 数据开发介绍编辑
2.1 支持的数据源
数据开发支持多种数据源,可以将多种来源数据进行数据处理和集成。
支持数据读取和数据写入的数据库请参见:FineDataLink支持的数据源 第三章内容
2.2 任务管理
数据开发中通过「定时任务」存放设计好的业务流程。
通过「文件夹」对定时任务进行管理。
2.3 任务开发
2.3.1 价值场景示例
1)实现跨数据源批量 同步数据
2)提供多种数据转换算子,灵活处理数据。
下图中的算子介绍请参见本文 2.3.2 节内容。
3)支持JSON解析,一键解析半结构化数据。
4)支持Spark SQL,覆盖更多数据转换场景。
5)循环容器,支持对数据遍历循环。
6)对接企微,实现数据找人。
7)支持 SQL 脚本,对数据库进行增删改。
8)支持调用 shell 脚本,对接外部的独立数据处理过程。
2.3.2 节点介绍
任务开发界面如下图所示:
节点介绍如下表所示:
分类 | 节点 | 说明 |
---|---|---|
通用 | 数据同步 |
|
数据转换 | 当数据需要利用 FDL 完成复杂场景处理时,推荐使用数据转换 | |
脚本 | SQL 脚本 | 通过写 SQL 的形式,完成对表和数据的处理,例如:创建、更新、删除、读取、关联、汇总等操作 |
shell脚本 | 支持通过执行 Shell 脚本,对接外部的独立数据处理过程 例如 SVN 更新、文件运维清理、调用 Kettle 任务、调用 Python 计算任务、调用 Spark 计算任务、执行数据库备份还原等 | |
流程 | 参数赋值 | 参数赋值节点通过数据来源将需要赋值的数据取出,并为参数赋值 将获取到的数据输出为参数,下游节点可以利用公式使用参数值 |
条件分支 | 基于配置的执行条件,判断是否运行下游节点 | |
调用任务 | 调用平台内其他定时任务,完成跨任务的调度执行 | |
循环容器 | 在容器内对节点执行遍历循环、条件循环,满足节点循环执行的场景 | |
消息通知 | 自定义通知内容,通知指定渠道的用户 通知渠道:邮件/短信/企业微信应用推送/企业微信群机器人/钉钉应用推送/钉钉群机器人 通知内容:可自定义 | |
虚拟节点 | 空操作,无实际意义,常用于多分支到多分支场景的实现 | |
其他 | 备注说明 | 可帮助用户为任务、节点增加备注 |
其中,「数据转换」节点提供输入、输出、转换等类型的算子,可实现复杂的数据处理。如下图所示:
「数据转换」中的算子介绍如下表所示:
分类 | 算子 | 说明 |
---|---|---|
数据输入 | 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 | |
简道云输出 | 将数据输出到简道云表单 | |
连接 | 数据关联 | 用户两张数据表在不同的数据库中,希望能够将两张不同来源库的表进行关联生成新表。连接方式如下:
|
数据比对 | 将 2 个输入的数据进行比较,筛选出新增、删除、相同、更新的数据 | |
转换 | 列转行 | 实现数据表行列结构的改变,列转行 |
行转列 | 实现数据表行列结构的改变,行转列 | |
JSON解析 | 解析 JSON 结构的数据,输出行列格式的数据 | |
XML解析 | 将 XML 格式数据解析为行列格式数据 | |
字段设置 | 可实现数据流字段的选择、重命名、数据类型转换操作 | |
新增计算列 | 在不影响原有字段的情况下,可利用原有字段通过引用或计算获得一个新的字段 | |
数据过滤 | 过滤符合条件的数据记录 | |
JSON生成 | 选择字段,将表单数据,转换为生成多个 JSON 对象,用户可以在其中配置多层 JSON 嵌套 | |
实验室 | Spark SQL | Spark SQL 基于内置的 Spark 计算引擎,满足用户查询数据、处理数据的需求,支持使用参数、函数 |
其他 | 备注说明 | 可帮助用户为任务、节点增加备注 |
2.4 任务调度
提供了定时调度功能,可以定期自动运行定时任务,以保证数据能够及时更新。
开始时间:设置任务开始执行时间
执行频率:任务执行频率
结束时间:设置任务结束执行时间
结果通知:对调度任务运行后的执行结果,如果执行失败会进行通知
详细介绍请参见:定时任务调度配置
2.5 任务运维
任务支持灵活调度、运行状态实时监控,便捷的操作将会释放运维人员巨大的工作量。
运行记录:可以通过筛选和搜索的方式查看任务运行状态、运行耗时以及任务运行的历史日志。
任务管理:查看任务调度配置情况。
资源控制:限制「数据平台」占用的内存和带宽,减弱在集成部署下对 FineReport 或 FineBI 服务的影响。同时在独立部署时,可控制数据开发所占用的内存资源。
详细介绍请参见:定时任务运维
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组合应用示例 |