1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
1.6 |
|
4.1.11.5 | 當資料來源的配置方式為「選表」時,若來源表支援主鍵,自動建表時欄位映射預設選中來源表的主鍵和Not Null,詳情參見本文 4.5 節 |
4.1.12.3 | 若目標表選擇「自動建表」,定時任務運作成功後,仍為「自動建表」 |
4.1.14.1 |
|
4.2.0.2 | Doris 2.1.6 以上版本,欄位映射中可獲取到欄位註釋 |
1.2 更多版本
FineDataLink 版本 | 功能變動 |
---|---|
1.7 | 欄位映射介面可編輯映射並刪除欄位映射關係 |
1.9 | 允許指定一個或多個欄位作為比對欄位,來更新目標表中的資料 |
2.1 | 欄位映射時支援模糊匹配,可選擇映射方式 |
3.7 | 「資料去向」中若選擇「自動建表」,「欄位映射」Tab下可刪除表欄位、修改表欄位展示順序、修改表欄位長度、修改欄位類型 |
4.0.1 | 「資料去向」中若選擇「自動建表」,「欄位映射」Tab下修改表欄位展示順序的方式,從點選調整欄位順序調整為拖曳調整欄位順序 |
4.0.18 | 「資料去向」中寫入方式分為四類:
|
4.0.21 |
|
4.0.30 | 欄位映射中可支援搜尋欄位 |
4.1.3 |
|
4.1.5.2 | 欄位映射處可在目標表欄位中篩選出有異常的字段 |
4.1.5.4 | 1)資料來源 Tab 中,配置方式選擇「選表」時,「資料去向與映射」Tab 下,來源表的欄位映射中,能自動讀取欄位的註釋;其他情況下,「註釋」列的值為-- 2)若目標表支援寫入註釋,目標表為「自動建表」時,可自訂欄位註釋 3)目標表選擇「已存在表」時,顯示表註釋;目標表選擇「自動建表」時,可自訂表註釋 4)資料同步支援DDL,詳情參見本文第三章 |
4.1.6.1 | 目標表自動建表時,表名支援包含中文 |
4.1.9.3 |
|
1.3 功能簡介
本文介紹「資料同步」設定資料去向或者使用「資料轉換-DB表匯出」時配置項說明。
「資料去向與映射」Tab 介面如下圖所示:
注1:不同資料庫支援的資料去向與映射有部分限制,具體請參見:定時任務資料源功能限制說明
2. 設定資料去向
2.1 資料源/庫
選擇資料需要寫入的資料庫。支援的資料庫請參見:FineDataLink支援的資料源 文檔的第三章內容(支援資料寫入的資料庫)。
資料源處只展示已配置過資料連結且當前使用者有資料連結使用權限的選項。
若資料庫有模式,支援選擇模式。如下圖所示:
模式預設值說明如下:
模式 | 說明 |
---|---|
資料庫有模式 |
|
資料庫沒有模式 | 若資料連結中設定了資料庫名稱,「庫」欄位預設值為資料庫名稱,若資料連結中未設定資料庫名稱,「庫」欄位預設為空。 |
注1:模式配置項僅選擇關係型資料庫才出現。
注2:目標表如果是「已存在表」,獲取的是此目標庫/模式下的表;如果是「自動建表」建表建在此目標庫/模式下。
2.2 目標表
注:4.1.12.3 及之後版本,若目標表選擇「自動建表」,定時任務運作成功後,仍為「自動建表」。
功能 | 說明 |
---|---|
自動建表 | 直接在目標資料庫中建立一張表來存放 4.1.6.1 之前版本表名支援包含英文、數字、底線,4.1.6.1 及之後版本,表名支援包含英文、中文、數字、底線 若資料去向選擇了「Doris」或者「StarRocks」資料源,則設定去向端表時,需要選擇表類型,後續設定寫入方式時有一定的限制,詳情參見:Doris資料源使用說明、StarRocks資料源使用說明 |
已存在表 | 選擇目標資料庫中已有的表來存放資料。 注:若資料去向選擇了「Doris」或者「StarRocks」資料源,則設定去向端表時,需要選擇表類型,後續設定寫入方式時有一定的限制,詳情參見:Doris資料源使用說明、StarRocks資料源使用說明 |
2.3 表註釋(表描述)
注:只在第一次建表時,同步表描述,後續定時任務再執行,表描述不會變化;不支援 定時任務DDL同步
1)目標表選擇「已存在」表時,顯示已存在表的表描述。如下圖所示:
2)目標表選擇「自動建表」時,預設顯示為空,可自訂表描述。如下圖所示:
表描述要求:
預設為空,非必填。
輸入可以為數字、字母、特殊字元、中文。
限制最大值為 500 字元。
3)不支援該功能的資料庫:ClickHouse、Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks、TDengine、InfluxDB、InterSystems IRIS。
3. 源表結構變化檢查
詳情請參見:定時任務DDL同步
4. 設定欄位映射
建立「來源端-目標端」的欄位對應關係。如下圖所示:
注1:4.1.3 及之後版本,目標表為 Hive、星環 TRANSWARP INCEPTOR 且選擇自動建表時,可選取目標表裏的某些欄位作為分割槽鍵,詳情請參見:讀取、建立、寫入分割槽表
注2:4.1.9.3 及之後的版本,支援使用通用配置對資料源的欄位映射規則進行修改,詳情請參見:通用配置-欄位映射規則
4.1 映射方式
選擇源表欄位跟目標表欄位的映射方式,有兩種分別是「同名映射」和「同行映射」。
映射方式 | 匹配邏輯 |
---|---|
同名映射 | 按照目標表欄位與來源表欄位字元重合的情況匹配,整體邏輯為: 1)根據來源欄位,在目標表中尋找同名(字元完全相同)欄位對其進行匹配 2)沒有同名欄位時:
3)如果在目標表中找不到同名或者包含目標表欄位字元的欄位,則右側映射欄位顯示為空 |
同行映射 | 源頭欄位和目標表欄位按順序匹配:同行則建立映射關系 若來源表欄位與目標表欄位順序一致,可以使用同行映射 |
4.2 手動建表
目標表選擇「自動建表」時,才顯示「手動建表」功能。
點選「手動建表」按鈕後,使用者可修改欄位名、欄位類型,以及定義各種表的特性。如下圖所示:
1)支援查看和修改建表語句。
建表語句支援「重新獲取」,重新獲取=重置建表語句。
修改建表語句,不會與欄位映射裏的配置做聯動。
2)修改建表語句後,點選「執行建表」按鈕,在資料庫中建表成功後,「本文2.2 節目標表」處將自動切換為已存在表。
3)「手動建表」中的配置內容,不會在任務運作時生效;使用者可手動運作,建表成功後,按照已存在表的邏輯,覈對配置是否合理。
4.3 編輯映射
注1:若確定將 X 個欄位輸入到目標表中,則這些欄位必須配置映射,即對應的目標表欄位不能為空。
注2:若來源表有 10 個欄位,希望將其中 5 個欄位同步到目標表中,可將不需要的欄位取消映射即可,或者使用 欄位設定 算子刪除不需要的欄位;來源表取消映射的欄位,將不會寫入到目標表中,不會影響其他欄位。
1)可對目標表欄位做以下設定:
取消某欄位的映射
修改欄位展示順序
修改欄位類型;修改欄位名稱
設定主鍵;設定欄位非空
2)使用者可自訂設定目標表欄位與來源表欄位之間的映射關係。如下圖所示:
4.4 重新獲取
源表的欄位、欄位類型發生改變時,點選該按鈕可重新獲取,並初始化欄位映射介面。
4.5 主鍵
4.0.21 及之後版本,資料去向 Tab 中若選擇「自動建表」,欄位映射 Tab 中可設定物理主鍵。
注:若資料去向 Tab 中選擇「自動建表」,欄位映射 Tab 中未設定主鍵,運作任務建表成功後,再次編輯任務,不支援修改主鍵。
注:Hive、星環Inceptor 不支援物理主鍵和設定主鍵標識列。
當配置方式為「選表」時,若來源表支援主鍵,自動建表欄位映射預設選中來源表的主鍵和Not Null,如下圖所示:
目標表狀態 | 來源表 | 欄位映射是否預設選中來源表的主鍵和Not Null |
---|---|---|
目標表支援物理和邏輯主鍵 | 來源表支援主鍵 | 是 |
目標表支援邏輯主鍵,但不支援物理主鍵 | 來源表支援主鍵 | 是 |
目標表不支援主鍵 | 來源表支援主鍵 | 否 |
4.6 篩選目標表欄位
可篩選出目標表的已映射/未映射欄位、有異常(例如欄位名稱為空、類型為空等)/無異常欄位。如下圖所示:
4.7 同步欄位註釋
不支援讀取/寫入欄位註釋的資料庫:Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks、TDengine、InfluxDB、InterSystems IRIS。
只在第一次建表時,同步欄位註釋,後續定時任務再執行,欄位註釋不會變化;不支援 定時任務的 DDL 同步
支援將來源表的欄位註釋同步到目標表中;若目標表為自動建表,支援自訂目標表的欄位註釋。
1)來源表的「註釋」列說明:
資料來源 Tab 中,配置方式選擇「選表」時,「資料去向與映射」Tab 下,來源表的欄位映射中,能自動讀取欄位的註釋。如下圖所示:
其他情況下,「註釋」列的值為--。如下圖所示:
2)目標表的「註釋」列說明:
目標表為「已存在表」,顯示已存在表的欄位備註,不支援修改欄位備註。
目標表為「自動建表」,可自訂欄位註釋。如下圖所示:
欄位註釋格式要求:
預設為源表欄位註釋,若獲取不到則為空,非必填。
輸入可以為數字、字母、特殊字元、中文。
限制最大值為 30 字元。
4.8 更新目標表
當使用者來源端表發生 DDL 變化時,可直接在任務中對目標表進行欄位處理,更新目標表結構。詳情請參見:更新目標表
5. 注意事項
使用時一些需要注意的點:
1)映射時刪除了一些來源表欄位,那麼切換映射方式後,還是會根據剩下來的這些欄位進行調整。
2)手動將映射方式從預設項「同名映射」切換到「同行映射」,點選「重新獲取」按鈕,獲取的欄位將按照「同行映射」的方式自動匹配。
3)以下兩種場景會出現目標表無欄位可匹配源頭表欄位的情況,在這兩種情況下,右側目標表欄位可展示為空:
同名映射:目標表不存在包含源頭表欄位的欄位。
同行映射:源頭表欄位數量大於目標表欄位數量。
4)映射時,如果右側目標表有空欄位,會出現提示圖示,懸浮在其上方提示:目標表欄位存在空值
5)定時任務運作後,欄位映射處不支援修改目標表欄位類型。