-
對於管道任務目標表,支援自動建表和選擇「已存在表」兩種方式
欄位支援設定映射方式
支援批量編輯目標資料庫表名前後綴
表名、欄位名支援大小寫轉換,同時自動建表時表名、欄位名支援大小寫自動糾正
在選擇目標端為「已存在表」或者首次進行全量同步時,會對資料進行清空表內容重寫,此時
當來源表沒有主鍵時,目標表存在主鍵,進行清表重寫時,先清空目標表,再對目標表進行寫入;
如果此時來源表存在兩條主鍵相同的資料,後一條會改寫前一條的記錄;
支援對要同步的來源端資料進行管理,篩選無主鍵或者表配置異常的表,詳情參見本文 3.5 節
2)透過「手動建表」功能,可自訂建表的SQL語句,例如修改欄位名、欄位類型、定義各種表的特性等
3)欄位映射表格交互優化
1)「表欄位映射」步驟中,若去向選擇「自動建表」,管道任務運作成功後,將自動變為「已存在表」
2)支援篩選表建立方式:已存在表、自動建表
3)支援批量修改表建立方式
4)當「選擇來源」選擇「僅增量同步」時,去向表預設選擇「自動建表」
1)來源表的欄位映射中支援讀取來源表的欄位備注、表描述
2)目標表選擇自動建表時,可自訂欄位備注、表描述
3)目標表選擇已存在表時,顯示表備注、欄位備注
在「表欄位映射」步驟中,建立「來源端-目標端」的欄位對應關係。如下圖所示:
可選擇要實時同步的資料表、資料庫。
場景:使用者希望一張源表的資料實時同步到另外一張目標表中。
點選「新增表」按鈕,選擇待同步的表即可。如下圖所示:
「快速選表」按鈕可批量選擇多表,幫助使用者更快選擇來源表。如下圖所示:
輸入表名時,需注意:
每行一個表名。
可直接複制excel中的列資料貼上匹配。
若所選表已經新增了,快速選表無法匹配。
場景:裝置資料獲取場景中,源端有相同格式的多個庫的資料,需要實時同步到數倉的一張表中使用。
1)使用者可將多張結構相同的源表資料同步到一張目標表中,取所有源表欄位的交集作為分組表的欄位。如下圖所示:
注1:支援生成多個分組表。
注2:取交集時,只需要欄位名一緻,如果多張來源表的欄位類型不一樣,向上取能相容所有來源欄位的類型作為分組表中該欄位的類型。
情況一:此時會校驗源表欄位交集的情況,若子表欄位完全交集,生成分組表後,分組表名稱為使用者勾選的第一個子表的名稱。
情況二:若沒有交集欄位,則提示:所選子表無欄位交集,無法生成分組表,建議取消操作並排查子表結構。如下圖所示:
該情況下無法生成分組表。
情況三:若存在部分交集欄位,則提示:存在交集外的子表欄位,這些欄位後續無法同步,建議取消操作並排查子表結構。生成分組表後,分組表名稱為使用者勾選的第一個子表的名稱。如下圖所示:
該情況下,生成的分組表中只包含交集欄位,可正常實時同步。
2)生成分組表後,如下圖所示:
點選「刪除」按鈕,可刪除分組表。
點選「編輯」按鈕,可重新命名分組表(多個分組表間不能重名);可新增、刪除子表。如下圖所示:
注:對於曆史資料量很大的情況,曆史資料往往要透過特定的高速裝載方式或者分多次多批匯入。管道任務僅使用在在全量同步完成後,接續開始增量同步,此時使用者可以使用僅增量同步類型。
先對所有存量資料同步,然後持續同步新增變化。任務初次運作時,將完整運作全量同步+增量同步;任務中斷或暫停後,再次運作時,如果所有表的全量同步都已完成,則將從增量的斷點開始,直接運作增量同步。
對於使用目標資料源推薦方式匯入曆史資料時,沒有篩選條件的曆史全量資料匯入,可以設定增量同步起點為任務執行開始時間
1)任務僅包含增量階段,任務初次運作時,將按照配置的起始時間開始進行增量同步。
2)支援資料源:MySQL、Oracle、SQLServer、PostgreSQL
3)配置後生效時間點精度為:yyyy-MM-dd HH:mm:ss.000,精確到毫秒,時區以資料庫的時區為準。
注1:對於PostgreSQL 資料源,僅支援任務啟動時間作為起點
注2:SAP HANA 僅支援任務啟動時間作為起點
選擇「自訂時間」作為起點時,可指定增量起始時間,預設為空,必填,允許指定到秒。
可選時間的起點是檢查使用者資料庫日誌最早的時間。
3.1 目標表建立方式
目標表名稱中不能包含中文、特殊字元。使用者可建立表/選擇已存在表作為目標表。
1)使用「自動建表」,在目標資料庫建立管道任務目標表。
注:建立表不支援和資料庫已存在表重名;其中 4.1.6.1 之前版本表名支援包含英文、數字、底線,4.1.6.1 及之後版本,表名支援包含英文、中文、數字、底線
2)「手動建表」按鈕說明:
場景一:若使用者想要使用語句在目標資料庫中建立表,可以複製「手動建表」中的語句並在資料庫執行。
場景二:點選「手動建表」按鈕後,使用者可修改欄位名、欄位類型,以及去定義各種表的特性。具體請參見:手動建表
3)不同資料庫對功能的支援說明:
若資料去向選擇了「Doris」資料源,則設定去向端表時,需要選擇表類型,詳情參見:Doris資料源使用說明、StarRocks資料源使用說明
若資料去向選擇了「StarRocks」資料源,則設定去向端表時,需要選擇表類型,詳情參見:Doris資料源使用說明、StarRocks資料源使用說明
選擇「已存在表」,可將管道任務資料實時同步至已有資料表。如下圖所示:
需注意:
1)配置管道任務-選擇資料去向 步驟中,開啟了「目標端執行邏輯刪除」和「同步時標記時間戳」,若目標表不存在新增欄位_fdl_update_timestamp、_fdl_marked_deleted,系統將自動在運作任務時幫使用者建立該欄位。
2)4.0.30 -4.1.5.2 版本,當「資料來源」選擇「僅增量同步」時,去向表預設選擇「已存在表」,會自動執行一次同名匹配,且使用者仍可以手動切換為「自動建表」;4.1.5.2 及之後版本,當「資料來源」選擇「僅增量同步」時,去向表預設選擇「自動建表」。
1)4.0.23 之前的版本目標資料庫資料表物理主鍵不能為空,以此保證寫入資料的唯一性,同時這樣能使目標端擁有索引、提升效能。
2)但是對於部分列儲存的資料庫,對設定物理主鍵有限制,導致無法設定物理主鍵,比如:當GP使用列儲存時、GaussDB(基於GP)使用列儲存等,對於無法建立物理主鍵的這些資料庫,在 4.0.23及之後 版本支援使用邏輯主鍵替代物理主鍵來實現資料實時同步。
注:在同步時,優先使用目標端已存在的物理主鍵,當目標表不存在物理主鍵時、再使用配置表內的邏輯主鍵;
當配置任務時,任務中配置了邏輯主鍵,而使用者在某個時間點將目標端新增了物理主鍵,則在使用者查看映射配置時展示目標端的物理主鍵、而非先前配置的邏輯主鍵。
自動建表
目標端資料庫支援設定物理主鍵
1)自動建表時,將使用者指定的欄位設為目標表物理主鍵
2)同步時,使用目標表物理主鍵作為更新和刪除時的比對欄位
1)自動建表時,不會設物理主鍵
2)資料同步時,使用目標表所有可用欄位作為邏輯主鍵並配置到任務中,使用邏輯主鍵作為更新和刪除時的比對欄位
目標端資料庫不支援設定物理主鍵,僅能設定邏輯主鍵
使用者配置了邏輯主鍵
對於不支援物理主鍵的資料源,勾選邏輯主鍵的時候,同時勾選NotNULL,但是使用者可以手動取消勾選。
自動建表時,不會設物理主鍵
同步時,使用配置的邏輯主鍵作為更新和刪除時的比對欄位
同步時,使用目標表所有可用欄位作為邏輯主鍵並配置到任務中,使用邏輯主鍵作為更新和刪除時的比對欄位
目標端資料庫已經存在物理主鍵
不允許調整物理主鍵配置
同步時,使用目標表物理主鍵作為更新和刪除時的比對欄位
目標端資料庫不存在物理主鍵
不允許目標端邏輯主鍵為空
1)選擇「自動建表」時,可自動識別來源端資料表已有的物理主鍵。如下圖所示:
2)選擇「已存在表」時,可自動識別已存在表的主鍵。如下圖所示:
3)支援手動設定目標表的主鍵。如下圖所示:
管道任務自動建表支援指定分割槽(PostgreSQL、Greenplum、Gauss200、YMatrix)和分佈(Greenplum、Gauss200、YMatrix)邏輯,詳情參見:讀取、建立、寫入分割槽表
可以調整欄位映射方式、目標資料庫資料表的欄位類型、欄位名稱、欄位順序;還可以取消映射、篩選已映射、未映射欄位。如下圖所示:
1)若需要給同步的資料表批量增加前綴或者後綴,可以點選右上角的「批量修改」,選中需要修改的表,然後增加前後綴即可,如下圖所示:
被修改的表名增加了 ods_ 前綴,如下圖所示:
2)可批量修改表建立方式。如下圖所示:
注:僅支援對未同步過的表進行批量修改。
1)點選資料庫展示側的篩選標籤,即可對設定需要進行同步的來源資料表進行篩選,篩選條件為:目標表配置是否有異常、目標表是否有主鍵、表建立方式。
如果使用者沒有選擇主鍵,且在「選擇去向」處配置了無主鍵同步,則任務運作時,系統將自動將這些表的所有可用欄位配置為邏輯主鍵。
2)點選欄位映射上方的篩選標籤,可篩選出是否已映射的欄位、是否有異常的欄位。如下圖所示:
有異常欄位範例:例如目標表欄位名稱為空、類型為空等。
可將來源表的表備註、欄位備註同步到目標表中;若目標表為自動建表,可自訂表描述、欄位註釋。
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.1-2.7 節內容同樣適用於分組表,本節介紹分組表和普通表的不同之處。
1)分組表中,如果多張來源表的欄位類型不一樣,向上取能相容所有來源欄位的類型作為分組表中該欄位的類型。
2)分組表的目標表中,將自動新增「_fdl_src_schema_table」欄位,標識來源的資料表,採用「schema.table_name」的形式記錄源表模式名和表名。
3)分組表的「物理主鍵」和「Not Null」配置說明:僅在所有分組內的子表都有 NOTNULL 配置或主鍵配置時,分組表採用相同配置,否則不配置。
1)3.2 節設定的物理主鍵,會自動顯示在「主鍵映射」處。如下圖所示:
2)主鍵映射處支援設定邏輯主鍵,詳細說明請參見本文 3.2 節內容。
4.2.13.3 版本,實時管道任務的存量階段支援並發同步:
應用場景:
1)實時管道任務首次啟動時,表的全量資料超大,導緻存量階段非常慢。
2)在實時管道的維運場景中,可能會因為其他異常情況導緻漏數,恢複動作往往是重新同步,但曆史全量資料的同步耗時非常長,導緻實時管道的恢複成本非常高。
功能說明:
1)設定後,實時管道任務存量階段支援並發讀取,提高同步效率。
2)當來源端為MySQL、SQLServer、Oracle、PostgreSQL時,支援該功能。
3)同步方式選擇僅增量同步(重新同步時會走存量階段)、存量+增量同步,都顯示該設定項;但該設定項,只對存量階段生效。
4)設定項說明:
若來源表為分組表,每張子表都支援單獨配置切分鍵和並發數。
按照切分鍵進行資料分片;僅支援整數/浮點數/字串這三種類型
1)當來源表有物理主鍵時,預設為來源表的物理主鍵,且不可修改
當有多個物理主鍵時,預設選擇第一個物理主鍵,可以透過下拉框選擇其他主鍵欄位
2)當來源表沒有物理主鍵時,使用者透過下拉框進行配置
根據使用者設定的並發數並行讀取全量數據;實際執行時,並發數不會超過 CPU 核數
預設值為4 範圍:2-64
若一個分片運作失敗,則相當於存量階段失敗,實時管道任務直接拋錯
1)點選最下方的「儲存」按鈕後,介面如下圖所示:
2)此時可點選右上角的「任務控制」按鈕,設定故障容許度機制、結果通知、任務屬性。如下圖所示:
詳情請參見:配置實時管道任務-任務控制
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙