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

目录:

1. 什么是数据开发编辑

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

40.png

FineBI v6.0 集成 FineDataLink 数据开发模块,具备 ELT、ETL 双核数据开发引擎,灵活满足不同数据处理场景,IT 人员可使用该功能将处理好的高质量数据同步至 FineBI,以供业务人员自助分析。

注:用户若想在 FineBI 6.0 中使用已集成的数据开发功能,需要先注册 FineDataLink 的相关功能点;同时管理员需要为用户开启定时任务管理权限,确保用户有使用该功能的权限。

1686122996768848.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. 如何帮助业务人员处理数据编辑

场景
FineBI 现状FineDataLink 方案
大数据场景下,操作卡顿、更新慢
  • 数据总量 20-30 亿,加载更新速度很慢。一次更新时间约 7-8 小时,有可能第二天早上业务人员使用 BI 看板时,发现数据并没有更新完成;或更新报错想重新启动更新时,代价太大

  • 在「我的分析」中,表关联等数据操作非常卡顿

  • 基于大数据量表的自助分析数据集多,整体服务器压力极大

方案:使用 FDL 将大数据量明细表提前做聚合汇总,直接输出到 BI 数据集中

优势:更新性能提升 50% 以上;改造成本低;缩短更新频率

数据集过多造成使用困难和卡顿
  • 数据集过多,目录太深,相似数据集难以区分,导致用户难以寻找

  • 在「我的分析」中,需要处理大量的数据关联场景,导致整体性能卡顿

方案:使用 FDL 将事实表和维度表提前做关联形成宽表,直接输出到 BI 数据集中;设计数据集命名规则,目录结构等业务包体系

优势:自助分析效率提升;优化使用体验

无数仓,BI 直接对接业务系统数据
  • BI 直接连接业务系统数据,会对业务系统造成性能压力,妨碍业务流程

  • 自助分析前需要进行必要的数据清洗

方案:
  • 使用 FDL 的「数据同步/数据转换」功能将业务数据定时同步到中间库中,再从中间库做数据开发直接输出到 BI 数据集中

  • 如果时效性高要求,可以加一层数据管道,实时同步到中间库,实现读写分离,再从中间库做数据开发直接输出到 BI 数据集中

优势:提供轻量化,敏捷的数仓替代方案;实现了与业务系统的读写分离,提升了自助分析时效性

4. 如何使用 FineDataLink编辑

Demo体验:FineDataLink数据平台

FineDataLink了解试用:FineDataLink 了解试用

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

简介
参考文档
主要介绍业务系统数据经过FDL处理落库后,FineBI 调用该数据进行自助分析的全流程,通过 FDL+BI 的组合方案解决自助数据集冗余杂乱、更新时间长、维护困难的问题FDL和FineBI组合应用示例