1. 什么是数据开发
FineReport 是一款用于报表开发、分析和展示的工具,能够帮助用户轻松构建灵活的数据分析和报表系统。
在报表开发之前,用户往往需要面对企业内多源异构数据的复杂加工处理工作。
数据开发师可以通过 FineDataLink 数据开发模块对接多源异构数据源,完成数据采集、复杂场景下的处理加工,为 FineReport 提供可直接应用的结果层数据,实现数据处理层的加速。
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 如何助力报表开发与应用
详情请参见:FineDataLink 如何助力报表开发与应用
4. 如何体验 FineDataLink
Demo体验:FineDataLink数据平台
FineDataLink了解试用:FineDataLink 了解试用
5. 帆软产品组合应用
简介 | 参考文档 |
---|---|
某贸易公司交易员使用 FineReport 填报模板,将新产生的订单或修改数据录入到补录表中,补录表需要将最新数据同步到数据库表中,数据分析工具使用数据库表中的数据进行展示,用户需要数据展示的数据尽量保持最新 | FR填报补录数据后,FDL任务轮询更新 |
主要介绍业务系统数据经过 FineDataLink 处理落库后,FineReport 调用该数据进行报表开发的全流程 | FDL和FineReport组合应用示例 |