历史版本19 :数据转换问题排查 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

数据转换编辑

运行日志报错:超出内存限制

问题描述:

任务运行失败,报错超出内存限制。

18.png

原因分析:

数据开发所占用的内存资源超过工程设置的上限。

解决方案:

可以根据实际运行任务情况,参考 机器要求 适当调整 Tomcat的JVM内存负载分配

API 输入编辑

API取数数据预览报错:Http request error- Read timed out

问题描述:

使用API取数,点击「数据预览」报错 Http request error,如下图所示:

19.png

原因分析:

FineDataLink  默认超时是10s,耗时长的api会提示超时。

解决方案:

参考 FDLTimeout  在API Header 内使用 FDLTimeout 字段设置超时时间。

API 输入运行报错 json format is illegal

问题描述:

使用API取数,点击「数据预览」报错 json format is illegal,如下图所示:

20.png

原因分析:

4.0.20 版本中加了json格式校验,API 的 body 请求中不再支持写入注释。

解决方案:

清除 body  中的注释即可。

 4.0.21 已经支持使用使用注释,可升级工程解决。

21.png

数据关联编辑

运行日志报错:Spark执行错误

问题描述:

任务运行失败,报错提示[数据关联]: Spark执行错误- org apache spark sql. execution joins .exception.N2NInterruptException - null

22.png

原因分析:

spark 保护机制,避免数据量极速膨胀触发服务器宕机,通常在关联结果膨胀超过5倍 + 关联数据量大于 1kw出现,属于正常现象。

满足下面所有条件,判定为不合理场景:    

1)存在N:N的情况    

2)N:N步骤的结果数据量超过1kw     

3)N:N膨胀系数>=5

例如,100w 数据和 500w 数据N:N结果为2000w数据,那么N:N膨胀系数为: 2000w/500w =4,或者2000w/100w =20

关联中的字段名称大小写与数据库不一致

问题描述:

数据库中的表字段和数据关联中获取的字段名称大小写不一致。

原因分析:

数据关联获取的字段名,是由上游节点数据预览结果而来。

若DB表从数据库获取表字段时,混淆了大小写,此处便会不一致。

解决方案:

检查数据关联上游节点的字段获取过程。

DB表输入/输出编辑

运行日志报错:Data write error - connection disables

问题描述:

输出数据库为GreenPlum(并行装载)时,运行报错Data write error - connection disables

1715674481610488.png

原因分析:

gpdfist 文件不支持放置路径有空格

解决方案:

放置文件的路径下有空格,换个文件夹放置,并重启gpfdist进程,配置并行装载方案详情参见:配置Greenplum(并行装载)数据源

任务执行成功但写入数据不全

问题描述:

用户将两个来源的数据通过「Spark SQL」算子 union 后写入到目标表,写入方式为「清空数据再写入」,发现写入的数据不全,只写入了一张表的数据。

24.png

原因分析:

数据写不全原因:目标表存在唯一索引(自增 ID 主键),写数时索引冲突。

任务执行成功原因:FineDataLink 写入方式选择「清空数据再写入」时,遇到冲突会默认跳过。

DB2 数据库SQL语句中的as为中文名不生效

问题描述:

任务运行失败,报错超出内存限制。

DB2 数据库SQL语句中的as为中文名在数据输出时字段映射没有生效。

30.png

解决方案:

FDL4.0.22.1版本已经修复该问题。建议升级至该版本。

简道云输入编辑

运行日志报错:try request out of limit. DB表输出:Runtime internal error. -null

问题描述:

1715674547848415.png

解决方案:

在 配置简道云数据源 中将简道云数据连接请求失败重试次数调整的略大一些,默认值为5.

26.png

运行日志报错Table doesn't exist

问题描述:

任务运行失败,日志报错Table doesn't exist

27.png

原因分析:

简道云字段过长,字段类型不匹配

解决方案:

通过字段设置修改对应字段的长度

SparkSQL 编辑

数据预览报错:SparkSQL语法错误: Syntax error at or near 订; line 1 pos 18

问题描述:

数据预览界面报错SparkSQL语法错误: Syntax error at or near 订; line 1 pos 18

28.png

原因分析:

SparkSQL 不支持中文字段

解决方案:

在语法中去掉中文。

sparksql 使用count 计数只显示5000条

问题描述:

sparksql 算子中,使用 count 计数后预览只显示 5000 条。

原因分析:

sparksql 算子中,预览采样 5000 条进行计算,避免数据量过大导致服务器压力大,实际运行会根据实际条数来

SAP RFC 输入编辑

运行日志报错:The current pool size limit is 10 connections.

问题描述:

使用FineDataLink从SAP抽取数据,超过10个任务后面的任务报错:The current pool size limit is 10 connections.

原因分析:

这是SAP服务器配置了最大连接限制

解决方案:

请参考SAP相关配置说明,修改最大连接限制:配置 SAP 服务器的最大连接限制

执行速度过慢,且超时报错

问题描述:

SAP RFC 取数很慢,当取数超过 1 小时,定时任务会直接中断。

原因分析:

SAP RFC 函数数据量大,执行逻辑比较复杂,导致执行时间久,超时报错

解决方案:

优先通过优化 RFC 本身的性能,或者通过直连底层库解决:

  • 增大 sap 系统的超时时间解决报错问题

  • 通过多表并发执行减少整体耗时

MongoDB 输入编辑

节点运行报错null

问题描述:

FDL4.1.0及之前的版本,如果mongdb输入选择条件过滤查询方式,配置之后,再选择其他查询方式保存,升级到4.1.1-4.1.6.4任意版本,会出现节点运行报错null

解决方案:

手动修改dp文件,将mongodb输入节点的filter值置为null

29.png

新增计算列编辑

报错:该操作符两端必须为数值类型

问题描述:

「新增计算列」算子中,公式中包含内置参数 loopTimes,预览正常。

2.png

执行时报错:Spark算子计算错误 - formula check error - 字段[b]的公式校验失败:[:该操作符两端必须为数值类型

原因分析:

目前所有的内置参数都当作文本格式处理。

解决方案:

使用 TOINTEGER 公式转换字段类型。

文件输入编辑

通过文件修改时间筛选文件,筛选结果不对

问题描述:

「文件输入」算子中,通过文件修改时间筛选文件,筛选 2023-05-22 11:48:30 之前的文件,最终 2023-05-22 11:48:59 的文件被筛选出来。

原因分析:

「文件修改时间」的精确度仅到分钟,暂时无法精确到秒级别。

数据比对编辑

数据比对后数字后自动加上.0

Oracle 数据表中字段 ID 为 number 类型,使用包含该字段的数据表数据比对后,ID 字段后自动加上.0。如下图所示:

1714441627163514.png

产品逻辑:

经过 Spark 计算后会出现上述问题,但不会影响计算结果。针对该问题,产品后续会优化。

火狐(firefox)浏览器中不显示数据比对的预览样式

问题描述:

火狐浏览器中,不显示数据比对的预览样式。如下图所示:

1714441666130341.png

原因分析:

浏览器支持 has 特性,数据比对的预览样式才能显示正常。

火狐浏览器的 103 及之后版本,实际已经支持 has 特性,但默认为关闭状态,需要通过以下步骤进行开启:

1)地址栏输入about:config,进入设置界面。

2)搜索layout.css.has-selector.enabled,将其值切换为 true。

21.png

3)进入 FDL 工程,在「数据比对」算子中预览,发现样式正常。

JSON解析编辑

XML解析编辑