最新历史版本 :通用配置-自动建表配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本功能变动
4.0.18
  • 表名、字段名支持大小写转换

  • 自动建表时表名、字段名支持大小写自动纠正

4.1.11.2YMatrix 数据库支持该功能
4.2.2.1

SelectDB 数据库支持该功

该功能支持集群环境

4.2.3.3InterSystems IRIS 数据库支持该功能
4.2.8.5
KingBaseES(SqlServer模式)、KingBaseES(MySQL模式)支持该功能
4.2.12.4KingBaseES(Oracle模式)、KingBaseES(PostgreSQL模式) 支持该功能
4.2.13.2

1)交互优化使用 Tab 页分离「自动建表配置」和「字段映射规则」;

2)自动建表配置优化:

  • 原自动建表配置内容归为「大小写配置」中

  • 新增「编码配置」

1.2 应用场景

场景一:

在进行数据跨库同步时,由于业务数据的复杂性,导致来源数据库大小写混用、不同来源数据库默认大小写规则不一致,导致同步到目标库后出现大小写不一致问题,管理和使用混乱。

用户希望通过 FDL 自动建表同步数据库至目标库时,能统一表名和字段名大小写,形成管理规范。

场景二:

当源表与目标表的编码格式、排序规则不一致时,需要手动修正,灵活性不足。

用户希望在向目标表同步数据的过程中,能自动完成编码配置的转换。

1.3 功能说明

「通用配置>自动建表配置」支持两种配置规则:

  • 大小写配置:支持自动转换表名与字段名的大小写格式;

  • 编码配置:支持自动转换目标表的编码配置。

1.4 约束限制

1)「通用配置」仅超级管理员支持设置,不支持分配其他用户使用和管理权限。

2)4.2.2.1 之前版本,该功能不支持集群环境;4.2.2.1 及之后版本,该功能支持集群环境。

2. 功能说明编辑

「自动建表配置」适配功能范围:定时任务、实时任务、实时管道、定时管道、数据服务。

点击「添加规则」,可选择:大小写配置、编码配置。如下图所示:

8.png

2.1 大小写配置

在自动建表时,支持对目标表表名、字段名自动进行大小写转换。

1.png

配置项说明如下:

配置项
说明
适用数据连接

选择当前大小写配置适用的数据连接,支持多选

支持选择的数据源类型有:

ClickHouse、GaussDB 200、Greenplum、Greenplum/Greenplum(并行装载)/FineData、Hive、Hive(HDFS)、HSQL、IBM DB2、Impala、Informix、MongoDB、MySQL、Oracle、PostgreSQL、Presto、SAP HANA、SQL Server、SQLite、达梦、华为 GaussDB 200、南大通用 Gbase 8A、人大金仓 KingbaseES、YMatrix、SelectDB、InterSystems IRIS、KingBaseES(SqlServer模式)、KingBaseES(MySQL模式)、KingBaseES(Oracle模式)、KingBaseES(PostgreSQL模式)

表名字段名转换

支持:全部转大写、全部转小写

2.2 编码配置

4.2.13.2 及之后版本,新增「编码配置」,支持自动转换目标表的编码格式和排序规则。

9.png

配置项说明如下表所示:

配置项说明
适用数据连接

选择当前编码配置适用的数据连接,支持多选

仅支持 MySQL 数据源

编码格式和排序规则
编码格式
支持的排序规则
utf8mb4
  • utf8mb4_general_ci

  • utf8mb4_unicode_ci

  • utf8mb4_bin

  • utf8mb4_0900_ai_ci(MYSQL8.0及以上版本支持)

utf8mb3
  • utf8mb3_general_ci

  • utf8mb3_unicode_ci

  • utf8mb3_bin

utf16
  • utf16_general_ci

  • utf16_unicode_ci

  • utf16_bin

ISO-8859-1(Latin1)
  • latin1_swedish_ci

  • latin1_general_ci

  • latin1_bin

GBK
  • gbk_chinese_ci

  • gbk_bin

2.3 管理配置

在列表中,可查看所有的配置,支持编辑、删除配置。如下图所示:

10.png

3. 示例编辑

3.1 大小写转换

1)点击「管理系统>通用配置」,点击「自动建表配置>添加规则>大小写配置」,如下图所示:

8.png

2)选择指定的数据连接,来批量修改该数据连接对应数据库中的表名、字段名,如下图所示:

12.png

3)进入定时任务并新建「数据同步」节点,将数据写入已经设置自动建表表名和字段名全部转大写的「FDLDemo」数据连接。

此时自动建立目标数据表,输入表名会自动修改为通用设置中的大写模式,同时字段映射中目标表字段名称也改为大写模式,如下图所示:

定时管道任务同理,此时自动建立目标数据表,输入表名会自动修改为通用设置中的大写模式,同时字段映射中目标表字段名称也改为大写模式,如下图所示:

3.png

3.2 编码配置

1)点击「管理系统>通用配置」,点击「添加规则>编码配置」,如下图所示:

8.png

2)选择指定的数据连接,来批量修改目标表的编码格式和排序规则,如下图所示:

13.png

3)进入定时任务并新建「数据同步」节点,将数据写入已经进行编码配置的数据连接。在「手动建表」的编码语句中可以看到:

  • CHARACTER SET = utf8mb4,即编码配置中的编码格式;

  • COLLATE = utf8mb4_0900_ai_ci,即编码配置中的排序规则;

  • ROW_FORMAT = Dynamic;

4.png

3. 兼容说明编辑

1)数据管道-选择已存在表/自动建表时的兼容

自动建表:当用户在配置任务时如果选择了大小写转换和前后缀设置,则应先按照用户的设置进行大小写转换和前后缀设置后,再进行自动建表,如果用户在进行前后缀前,已经对表名和字段名进行了操作,则覆盖;

2)数据管道目前的同步时间戳和逻辑删除标记字段默认为小写,这两个字段与用户的其他字段保持统一规则、跟随用户的大小写设置而变化;如用户如果开启全部大写设置,则时间戳和逻辑删除标记也应为大写。

3)当任务已存在,再开启大小写选项

  • 数据管道:

对于未运行的任务,当数据连接的大小写设定为全大写或全小写时,字段名和表名按照「通用设置」生效。

对于已经运行的任务,「通用设置」不生效;

  • 定时任务:

完全按照用户在界面配置的表名和字段名进行自动建表,「通用配置」不生效;

在用户选择新的数据去向后(包括重新选择),按照选择的数据连接的大小写设定进行规范表名和字段名,字段映射会被清空、等同于新建节点;

当用户在字段映射界面点击重新获取后,按照选择的数据连接的大小写设定进行字段名规范;

4. 注意事项编辑

问题描述:

自动建表运行后,提示报表不存在。且自动建表运距复制出来无法执行。

原因分析:

部分类型数据库存在一些特定限制。例如 MySQL 数据库的 varchar 长度之和不能超过65535。

解决方案:

排查是否违反了对应数据库的规定,调整字段类型或长度。