最新历史版本 :通用配置-自動建表配置 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

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. 功能說明编辑

「自動建表配置」适配功能範圍:定時任務、實時任務、實時管道、定時管道、數據服務。

點擊「添加規則」,可選擇:大小寫配置、編碼配置。如下圖所示:

2.1 大小寫配置

在自動建表時,支持對目标表表名、字段名自動進行大小寫轉換。

配置項說明如下:

配置項
說明
适用數據連接

選擇當前大小寫配置适用的數據連接,支持多選

支持選擇的數據源類型有:

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 及之後版本,新增「編碼配置」,支持自動轉換目标表的編碼格式和排序規則。

配置項說明如下表所示:

配置項說明
适用數據連接

選擇當前編碼配置适用的數據連接,支持多選

僅支持 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 管理配置

在列表中,可查看所有的配置,支持編輯、删除配置。如下圖所示:

3. 示例编辑

3.1 大小寫轉換

1)點擊「管理系統>通用配置」,點擊「自動建表配置>添加規則>大小寫配置」,如下圖所示:

2)選擇指定的數據連接,來批量修改該數據連接對應數據庫中的表名、字段名,如下圖所示:

3)進入資料開發並建立「資料同步」節點,將資料寫入 2.1 節已經設定自動建表表名和欄位名全部轉大寫的「fdl_demotest」資料連結。

此時自動建立目標資料表,輸入表名會自動修改為通用設定中的大寫模式,同時欄位映射中目標表欄位名稱也改為大寫模式,如下圖所示:

定時管道任務同理,此時自動建立目标數據表,輸入表名會自動修改爲通用設置中的大寫模式,同時字段映射中目标表字段名稱也改爲大寫模式,如下圖所示:

3.2 編碼配置

1)點擊「管理系統>通用配置」,點擊「添加規則>編碼配置」,如下圖所示:

2)選擇指定的數據連接,來批量修改目标表的編碼格式和排序規則,如下圖所示:

3)進入定時任務并新建「數據同步」節點,将數據寫入已經進行編碼配置的數據連接。在「手動建表」的編碼語句中可以看到:

  • CHARACTER SET = utf8mb4,即編碼配置中的編碼格式;

  • COLLATE = utf8mb4_0900_ai_ci,即編碼配置中的排序規則;

  • ROW_FORMAT = Dynamic;

3. 相容說明编辑

1)資料管道-選擇已存在表/自動建表時的相容

自動建表:當使用者在配置任務時如果選擇了大小寫轉換和前後綴設定,則應先按照使用者的設定進行大小寫轉換和前後綴設定後,再進行自動建表,如果使用者在進行前後綴前,已經對表名和欄位名進行了操作,則改寫;

2)資料管道目前的同步時間戳和邏輯刪除標記欄位預設為小寫,這兩個欄位與使用者的其他欄位保持統一規則、跟隨使用者的大小寫設定而變化;如使用者如果開啟全部大寫設定,則時間戳和邏輯刪除標記也應為大寫。

3)當任務已存在,再開啟大小寫選項

  • 資料管道:

對於未運作的任務,當資料連結的大小寫設定為全大寫或全小寫時,欄位名和表名按照「通用設定」生效。

對於已經運作的任務,「通用設定」不生效;

  • 定時任務:

完全按照使用者在介面配置的表名和欄位名進行自動建表,「通用配置」不生效;

在使用者選擇新的資料去向後(包括重新選擇),按照選擇的資料連結的大小寫設定進行規範表名和欄位名,欄位映射會被清空、等同於建立節點;

當使用者在欄位映射介面點選重新獲取後,按照選擇的資料連結的大小寫設定進行欄位名規範;

4. 注意事項编辑

問題描述:

自動建表運作後,提示報表不存在。且自動建表運距複製出來無法執行。

原因分析:

部分類型資料庫存在一些特定限制。例如 MySQL 資料庫的 varchar 長度之和不能超過65535。

解決方案:

排查是否違反了對應資料庫的規定,調整欄位類型或長度。