配置管道任務-表欄位映射

  • 文档创建者:Roxy
  • 历史版本:40
  • 最近更新:Nikozhan 于 2025-03-07
  • 1. 概述

    1.1 版本

    FineDataLink 版本
    功能變動
    4.0.5

    -

    4.1.11.2管道任務自動建表支援指定分割槽(YMatrix )和分佈(YMatrix)邏輯,詳情參見:讀取、建立、寫入分割槽表
    4.1.11.5

    自動建表時從源表獲取到表描述後自動填充到目標端,詳情參見本文 2.7 節

    4.1.12.3「表欄位映射」步驟中,若去向選擇自動建表,管道任務運作成功後,仍為自動建表

    1.2 更多歷史版本

    FineDataLink 版本功能變動
    4.0.16
    • 對於管道任務目標表,支援自動建表和選擇「已存在表」兩種方式

    • 欄位支援設定映射方式

    4.0.18
    • 支援批量編輯目標資料庫表名前後綴

    • 表名、欄位名支援大小寫轉換,同時自動建表時表名、欄位名支援大小寫自動糾正

    4.0.23對於無法設定物理主鍵的資料表,資料管道支援設定邏輯主鍵
    4.0.29

    在選擇目標端為「已存在表」或者首次進行全量同步時,會對資料進行清空表內容重寫,此時

    • 當來源表沒有主鍵時,目標表存在主鍵,進行清表重寫時,先清空目標表,再對目標表進行寫入;

    • 如果此時來源表存在兩條主鍵相同的資料,後一條會改寫前一條的記錄;

    4.0.30當「選擇來源」選擇「僅增量同步」時,去向表預設選擇「已存在表」,會自動執行一次同名匹配,且使用者仍可以手動切換為「自動建表」
    4.1.1

    支援對要同步的來源端資料進行管理,篩選無主鍵或者表配置異常的表,詳情參見本文 2.4 節

    4.1.31)Doris、StarRocks 資料源作為寫入端,支援自動建表,詳情參見本文 2.1

    2)透過「手動建表」功能,可自訂建表的SQL語句,例如修改欄位名、欄位類型、定義各種表的特性等

    3)欄位映射表格交互優化

    4.1.5.2

    1)「表欄位映射」步驟中,若去向選擇自動建表,管道任務運作成功後,將自動變為已存在表

    2)支援篩選表建立方式:已存在表、自動建表

    3)支援批量修改表建立方式

    4)當「選擇來源」選擇「僅增量同步」時,去向表預設選擇「自動建表

    4.1.5.4

    1)來源表的欄位映射中支援讀取來源表的欄位備注、表描述

    2)目標表選擇自動建表時,可自訂欄位備注、表描述

    3)目標表選擇已存在表時,顯示表備注、欄位備注

    4.1.6.1自動建表時,表名支援包含中文
    4.1.8.1配置管道任務-選擇資料來源 步驟中,若生成了分組表,「表欄位映射」步驟中,將顯示分組表的欄位映射
    4.1.9.3管道任務自動建表支援指定分割槽(PostgreSQL、Greenplum、Gauss200 )和分佈(Greenplum、Gauss200)邏輯,詳情參見:讀取、建立、寫入分割槽表

    1.3 功能簡介

    在「表欄位映射」步驟中,建立「來源端-目標端」的欄位對應關係。如下圖所示:

    2. 操作步驟

    2.1 目標表建立方式

    目標表名稱中不能包含中文、特殊字元。使用者可建立表/選擇已存在表作為目標表。

    2.1.1 自動建表

    1)使用「自動建表」,在目標資料庫建立管道任務目標表

    注:建立表不支援和資料庫已存在表重名;其中 4.1.6.1 之前版本表名支援包含英文、數字、底線,4.1.6.1 及之後版本,表名支援包含英文、中文、數字、底線

    2)「手動建表」按鈕說明:

    場景一:若使用者想要使用語句在目標資料庫中建立表,可以複製「手動建表」中的語句並在資料庫執行。

    場景二:點選「手動建表」按鈕後,使用者可修改欄位名、欄位類型,以及去定義各種表的特性。具體請參見:手動建表

    3)不同資料庫對功能的支援說明:

    2.1.2 選擇已存在表

    選擇「已存在表」,可將管道任務資料實時同步至已有資料表。如下圖所示:

    需注意:

    1)配置管道任務-選擇資料去向 步驟中,開啟了「目標端執行邏輯刪除」和「同步時標記時間戳」,若目標表不存在新增欄位_fdl_update_timestamp、_fdl_marked_deleted,系統將自動在運作任務時幫使用者建立該欄位。

    2)4.0.30 -4.1.5.2 版本,當「数据来源」選擇「僅增量同步」時,去向表預設選擇「已存在表」,會自動執行一次同名匹配,且使用者仍可以手動切換為「自動建表」;4.1.5.2 及之後版本,當「数据来源」選擇「僅增量同步」時,去向表預設選擇「自動建表」。

    2.2 設定主鍵

    1)4.0.23 之前的版本目標資料庫資料表物理主鍵不能為空,以此保證寫入資料的唯一性,同時這樣能使目標端擁有索引、提升效能。

    2)但是對於部分列儲存的資料庫,對設定物理主鍵有限制,導致無法設定物理主鍵,比如:當GP使用列儲存時、GaussDB(基於GP)使用列儲存等,對於無法建立物理主鍵的這些資料庫,在 4.0.23及之後 版本支援使用邏輯主鍵替代物理主鍵來實現資料實時同步。

    注:在同步時,優先使用目標端已存在的物理主鍵,當目標表不存在物理主鍵時、再使用配置表內的邏輯主鍵;

    當配置任務時,任務中配置了邏輯主鍵,而使用者在某個時間點將目標端新增了物理主鍵,則在使用者查看映射配置時展示目標端的物理主鍵、而非先前配置的邏輯主鍵。

    目標端表類型判斷目標表主鍵狀態來源端表目標端表

    自動建表

    目標端資料庫支援設定物理主鍵

    來源端有物理主鍵來源端物理主鍵配置至目標端物理主鍵
    來源端沒有物理主鍵使用者可自行設定物理主鍵使用者配置了物理主鍵

    1)自動建表時,將使用者指定的欄位設為目標表物理主鍵

    2)同步時,使用目標表物理主鍵作為更新和刪除時的比對欄位

    使用者沒有配置物理主鍵(勾選了無主鍵同步)

    1)自動建表時,不會設物理主鍵

    2)資料同步時,使用目標表所有可用欄位作為邏輯主鍵並配置到任務中,使用邏輯主鍵作為更新和刪除時的比對欄位

    目標端資料庫不支援設定物理主鍵,僅能設定邏輯主鍵


    來源端有物理主鍵來源端物理主鍵自動配置至目標端邏輯主鍵

    使用者配置了邏輯主鍵

    對於不支援物理主鍵的資料源,勾選邏輯主鍵的時候,同時勾選NotNULL,但是使用者可以手動取消勾選。

    自動建表時,不會設物理主鍵

    同步時,使用配置的邏輯主鍵作為更新和刪除時的比對欄位

    來源端沒有物理主鍵使用者可自行設定邏輯主鍵使用者沒有配置邏輯主鍵(勾選了無主鍵同步)

    自動建表時,不會設物理主鍵

    同步時,使用目標表所有可用欄位作為邏輯主鍵並配置到任務中,使用邏輯主鍵作為更新和刪除時的比對欄位

    已存在表

    目標端資料庫已經存在物理主鍵

    不允許調整物理主鍵配置

    -
    預設使用已存在物理主鍵,不能修改

    同步時,使用目標表物理主鍵作為更新和刪除時的比對欄位

    目標端資料庫不存在物理主鍵

    不允許目標端邏輯主鍵為空

    來源端有物理主鍵來源端物理主鍵自動配置至目標端邏輯主鍵
    來源端沒有物理主鍵使用者可自行設定邏輯主鍵使用者配置了基於邏輯主鍵同步

    同步時,使用配置的邏輯主鍵作為更新和刪除時的比對欄位

    使用者沒有配置主鍵(勾選了無主鍵同步)

    同步時,使用目標表所有可用欄位作為邏輯主鍵並配置到任務中,使用邏輯主鍵作為更新和刪除時的比對欄位

    1)選擇「自動建表」時,可自動識別來源端資料表已有的物理主鍵。如下圖所示:

    2)選擇「已存在表」時,可自動識別已存在表的主鍵。如下圖所示:

    3)支援手動設定目標表的主鍵。如下圖所示:

    2.3 設定分割槽鍵

    管道任務自動建表支援指定分割槽(PostgreSQL、Greenplum、Gauss200、YMatrix)和分佈(Greenplum、Gauss200、YMatrix)邏輯,詳情參見:读取、创建、写入分区表

    2.4 設定欄位映射

    可以調整欄位映射方式、目標資料庫資料表的欄位類型、欄位名稱、欄位順序;還可以取消映射、篩選已映射、未映射欄位。如下圖所示:

    2.5 批量修改表名、表建立方式

    1)若需要給同步的資料表批量增加前綴或者後綴,可以點選右上角的「批量修改」,選中需要修改的表,然後增加前後綴即可,如下圖所示: 

    被修改的表名增加了 ods_ 前綴,如下圖所示:

    2)可批量修改表建立方式。如下圖所示:

    注:僅支援對未同步過的表進行批量修改。

    2.6 篩選按鈕介紹

    1)點選資料庫展示側的篩選標籤,即可對設定需要進行同步的來源資料表進行篩選,篩選條件為:目標表配置是否有異常、目標表是否有主鍵、表建立方式。

    如果使用者沒有選擇主鍵,且在「選擇去向」處配置了無主鍵同步,則任務運作時,系統將自動將這些表的所有可用欄位配置為邏輯主鍵。

    2)點選欄位映射上方的篩選標籤,可篩選出是否已映射的欄位、是否有異常的欄位。如下圖所示:

    有異常欄位範例:例如目標表欄位名稱為空、類型為空等。

    2.7 表描述、欄位註釋

    可將來源表的表備註、欄位備註同步到目標表中;若目標表為自動建表,可自訂表描述、欄位註釋。

    1)來源表的欄位映射中支援讀取來源表的欄位註釋、表描述。如下圖所示:

    2)目標表選擇自動建表時,可自訂欄位註釋、表描述。如下圖所示:

    自動建表時從源表獲取到表描述後自動填充到目標端,如下圖所示:

    3)目標表選擇已存在表時,顯示錶描述、欄位註釋。如下圖所示:

    需注意:

    1)不支援表描述的資料庫:ClickHouse、Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks。

    2)不支援欄位備註的資料庫:Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks。

    3)表描述、欄位註釋後續變化:

    • 若未開啟DDL:

    只在第一次同步時,同步欄位的註釋,之後源表欄位註釋的變化不會同步到目標表。

    • 若開啟DDL:

    源表欄位註釋的變化(增刪改)會同步到目標表中;新增欄位的註釋也會同步過去。

    • 不論是否開啟DDL,只在第一次同步時,同步表描述,後續源表的表描述發生變化,不會同步到目標表。

    2.8 分組表和普通表不同

    本文的 2.1-2.7 節內容同樣適用於分組表,本節介紹分組表和普通表的不同之處。

    1)分組表中,如果多張來源表的欄位類型不一樣,向上取能相容所有來源欄位的類型作為分組表中該欄位的類型。

    2)分組表的目標表中,將自動新增「_fdl_src_schema_table」欄位,標識來源的資料表,採用「schema.table_name」的形式記錄源表模式名和表名。

    3)分組表的物理主鍵Not Null配置說明:僅在所有分組內的子表都有 NOTNULL 配置或主鍵配置時,分組表採用相同配置,否則不配置。

    3. 注意事項

    1)ClickHouse 作為寫入端時欄位映射說明

    當向目標表寫入資料時,按照 CollapsingMergeTree 表引擎進行寫入,詳情參見:ClickHouse資料源使用說明

    2)FineDataLink 管道任務對於 Oracle 資料源,欄位類型限制詳情參見:Oracle数据源使用说明

    4. 後續步驟

    附件列表


    主题: 資料管道
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!