兼容说明
独立部署的 FineDataLink 工程,4.0.27 及之后版本升级到 4.0.30 版本后,独立部署下定时任务结果输出至FineBI 的定时任务将失效。
新增功能
数据支持输出为 Excel 形式
数据同步节点中:数据去向 Tab 中可选择 FTP/SFTP 和服务器本地目录,可将数据输出为 Excel 形式。若数据不需要进行复杂处理加工,可在数据同步节点中实现。
数据转换节点中:「文件输出」算子支持将数据输出为 Excel 形式,若数据需要进行复杂处理加工后再输出,可在数据转换节点中实现。
如下图所示:
定时任务中支持设置全局参数
当多个定时任务需要使用相同的参数时,如果参数需要修改,每个定时任务都需要进行修改,实现过程比较麻烦。支持设置全局参数,该参数可在多个定时任务中使用。如下图所示:
详情请参见:全局参数
支持设置定时任务的调度依赖和优先级
1)支持为定时任务设置事件调度。
例如:数仓构建过程中 ODS 层有 a、b、c 任务互不影响、DW 层有 d 、f 任务,需要 a、b 任务执行完触发 d 任务,来减少 DW 层对 ODS 层完全更新完等待的时间;若 a、b 执行失败则不触发,来避免数据准确性的问题。
详情请参见:定时任务调度配置 2.2 节内容。
2)支持设置定时任务的执行优先级。当线程数不足时,优先执行队列中级别高的流,相同优先级的任务按照先进先出的顺序执行。
详情请参见:定时任务调度配置 第五章内容。
支持可视化展示定时任务的调用关系/依赖关系
可视化展示父子任务层级调用关系,用户可查看该定时任务被哪些任务调用,以及该任务调用了哪些任务。
可视化展示任务间调度依赖关系,辅助事件调度决策。
详情请参见:任务间调用/依赖关系展示
定时任务&管道任务&API支持导入导出
FineDataLink 工程上做好的定时任务&管道任务&API希望能够被复用到其他工程中。
1)FineDataLink 支持将定时任务从 A 系统中导出并导入至 B 系统。
详情请参见:定时任务导入导出
2)FineDataLink 支持将管道任务从 A 系统中导出并导入至 B 系统。
详情请参见:管道任务导入导出
3)FineDataLink 支持将 API 任务从 A 系统中导出并导入至 B 系统。
详情请参见:API任务导入导出
管道任务支持仅增量同步
数据管道任务初次运行时,采取全量+增量同步策略:
全量阶段:查询任务运行时刻数据来源表的所有数据,输出至数据目标表。
增量阶段:全量同步完成后,通过监听数据管道来源端的数据库日志变化,获取数据来源表的增量数据,将增量数据变化同步至数据目标表。
当以下场景中,用户希望进增量同步:
用户源库删除留存数据后,目标库仍保留完整数据。
希望仅增量同步源表中近期有效数据。
历史数据量很大的用户,为满足数据导入时间窗和导入成功率,历史数据往往要通过特定的高速装载方式或者分多次多批导入。
新版本的管道任务支持从指定的起点开始,持续同步新增的变化数据(增删改)。如下图所示:
详情请参见:配置管道任务 3.3 节内容。
数据管道和数据服务适配集群
数据管道和数据服务适配集群。详情请参见:集群部署概述
数据服务支持按照应用维度查看调用记录
支持按照应用维度查看调用记录。如下图所示:
详情请参见:服务运维 4.2 节内容。
暂时屏蔽功能
4.0.30 版本,暂时屏蔽 独立部署下定时任务结果输出至FineBI 功能。
优化功能
定时任务交互体验优化
「数据开发」中打开一个定时任务,将该定时任务删除后,任务标签页同时关闭。
定时任务打开过程中新增加载动画,避免白屏。
「数据转换」节点中修改配置后,未保存直接关闭任务,FDL 工程、浏览器中新增保存提示。
「虚拟节点」与其他节点交互统一,鼠标左键点击节点,可配置节点名称和备注。
自动建表批量设置大小写的体验优化。
字段映射中支持搜索字段。
「列转行」算子中,「转换字段设置」处,支持同类型字段全选。
JSON生成算子的JSON设置项中,键名输入框支持联想
定时任务运维界面优化
详情请参见:定时任务运维
「调度计划」中新增「事件调度」,可为多个定时任务配置统一事件调度。
「调度计划」中定时调度 Tab 下新增列「调度类型」。
「运行记录」中,触发方式筛选条件新增「事件」。
「任务管理」处,不显示具体的调度信息(不显示子表格)。
调度计划、运行计划页面:取消调度计划名的蓝色文字链接。
FineDataLink 适配高版本 Kafka
安全检测中测出性能漏洞,涉及 Kafka 版本 2.3.0~3.3.2 。
目前已适配 Kafka 3.5.1 版本,原有 2.x 也可以正常使用,对于一些稳定性敏感,且不需要响应安全问题的用户,可以采取稳定性优先的策略,在其他用户广泛验证后,再升级高版本 Kafka。
详情请参见:部署Kafka
循环容器视觉优化
优化前 | 优化后 |
---|---|
不容易区分循环容器内外节点 | 容器内节点图标缩小 |
1)容器内节点文字会超出容器外 2)由于不支持容器外节点拖入容器,导致容器外节点会叠加到容器上 3)节点会重叠 | 1)容器内节点不允许超出容器展示,展示不全可以使用滚动条 2)「循环容器」外的节点允许拖到容器内;其中有连线连接的节点不能单独拖入容器内,需要整组选中,一起拖入容器内 3)节点不能完全重叠,可以区分出两个节点 |
修复BUG
本节中附上了已修复的 BUG 编号,若客户对某个 BUG 有问题可把对应编号发给技术支持进行解答(技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」)。
1)FDL-8120 「Spark SQL」算子报错空指针。此版本已修复。
2)FDL-8241 数据同步到 Oracle 数据库时,提示null数据无法写入,kettle可以,使用 SQL 语句查询,发现没有空值。原因是数据中存在空格,此版本已修复。
3)FDL-8279 使用 api 取数,预览的 json 数据和实际的 json 数据不一致,执行结果正确,前端显示有问题。此版本已修复。
4)FDL-7882 数据转换中两个json解析节点,上游勾选"解析后保留所有上游输出字段",下游节点选字段无法选中default。此版本已修复。
5)FDL-8264 fdl设置了通用配置,全部转小写。在创建管道任务的时候,直接自动建表源表存在的大小不会触发转换,需要手动修改表名之后前端才会变更。此版本已修复。
6)FDL-8051 4.0.29版本,设计为sql脚本+数据转换任务卡住。此版本已修复。
7)FDL-5606 管道任务异常终止。此版本已修复。
8)FDL-7875 调度计划中生成一个调度计划名为「调度1-任务100」,选取了任务名为「任务101」的任务;将任务名为「任务100」的任务,添加一个任务调度,会默认生成这个「调度1-任务100」,但是不会触发重名校验。此版本已修复。
9)FDL-8263 数据管道适配seabox异常,在全量阶段会报错 Datasource"s writer step must be available。此版本已修复。
10)FDL-8284 用户 oracle 数据库里面存了 61W 张表,在管道设计的时候点击数据库查询表页面直接空白了。此版本已修复。
11)FDL-8299 源表仅一个字段,无主键,实时同步到gauss,管道任务异常中止。此版本已修复。
12)FDL-7788 选择文件输入数据时,文件路径无法直接编辑增加参数,只能手动选择。此版本已修复。
13)FDL-8337 「DB表输入」算子中,源库数据 1619529329736155139,查询预览 1619529329736155100,数据库最终结果也丢失。此版本已修复。
14)FDL-8288 数据管道任务中,来源库为 SQLServer,去向 gp 并行装载。管道任务同步增量阶段有脏数据,脏数据具体报错为:
ERROR: insufficient data left in message\n 在位置:COPY ods_u8_rdrecords01, line 1, column imoney
ERROR: incorrect binary data format\n 在位置:COPY ods_u8_rdrecords01, line 1, column iprice
涉及到的 imoney 和 iprice 字段都是 money 类型。
此版本已修复。
15)FDL-8275 SQLServer 数据库中的一张数据库表中包含自增长主键字段(例如 ID 字段),向该表中添加数据,报错字段"ID"无效。此版本已修复。
16)FDL-8269 datedif 时间差取分钟时报错,4.0.30 及之后版本支持通过 datedif 函数算出两个时间相差的周/小时/分钟/秒数。
17)FDL-8267 管道任务脏数据清理不掉,前端点击重试无响应。此版本已修复。
18)FDL-8085 python算子无法正常解析\n。此版本已修复。
19)FDL-8025 配置数据管道-字段映射时,选择去向为自动建表,如果只勾选物理主键(默认not null),生成的建表语句是主键默认为 null ;如果先勾选 no tnull,再勾选主键,建表语句就没问题。此版本已修复。
20)FDL-7873 「调度计划>定时调度」中,搜索一个任务移出计划之后,删掉任务搜索,剩下的任务都不显示了,任务列表也不显示被移出的任务。此版本已修复。
21)FDL-7790 4.0.28 版本,SparkSQL 中写 sql 无法联想。此版本已修复。
22)FDL-7588 用户的「数据转换」节点中,使用 9 个「文件输入」算子读取文件,报错。原因是 FDL 不支持超过 5 个「文件输入」算子同时运行。此版本调整逻辑为:最多同时运行 20 个「文件输入」算子。