配置實時管道任務-同步配置

  • 文檔創建者:Roxy
  • 編輯次數:41
  • 最近更新:Nikozhan 于 2026-01-16
  • icon提示:
    本文内容适用於 4.2.11.3 及之後版本;4.2.11.3 之前版本,請參見:曆史文檔

    1. 概述

    1.1 版本

    FineDataLink 版本
    功能變動
    4.0.5

    -

    4.1.11.5自動建表時從源表獲取到表描述後自動填充到目標端,詳情參見本文 3.8 節
    4.2.11.3
    實時管道任務配置介面更新,本文介紹「同步配置設定項
    4.2.11.4
    來源端選擇 Oracle、讀取方式選擇 LogMiner、且同步方式為僅增量同步時,增量同步起點支援選擇「自訂時間
    4.2.13.3存量階段支援並發同步


    1.2 更多歷史版本

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

    • 欄位支援設定映射方式

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

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

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

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

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

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

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

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

    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)邏輯,詳情參見:讀取、建立、寫入分割槽表
    4.1.11.2管道任務自動建表支援指定分割槽(YMatrix )和分佈(YMatrix)邏輯,詳情參見:讀取、建立、寫入分割槽表

    1.3 功能簡介

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

    2. 設定同步物件、同步方式

    2.1 選擇同步物件

    可選擇要實時同步的資料表、資料庫。

    2.1.1 普通表

    場景:使用者希望一張源表的資料實時同步到另外一張目標表中。

    點選「新增表」按鈕,選擇待同步的表即可。如下圖所示:

    2.1.2 快速選表

    「快速選表」按鈕可批量選擇多表,幫助使用者更快選擇來源表。如下圖所示:

    輸入表名時,需注意:

    • 每行一個表名。

    • 可直接複制excel中的列資料貼上匹配。

    • 若所選表已經新增了,快速選表無法匹配。

    2.1.3 分組表

    場景:裝置資料獲取場景中,源端有相同格式的多個庫的資料,需要實時同步到數倉的一張表中使用。

    1)使用者可將多張結構相同的源表資料同步到一張目標表中,取所有源表欄位的交集作為分組表的欄位。如下圖所示:

    注1:支援生成多個分組表。

    注2:取交集時,只需要欄位名一緻,如果多張來源表的欄位類型不一樣,向上取能相容所有來源欄位的類型作為分組表中該欄位的類型。

    情況一:此時會校驗源表欄位交集的情況,若子表欄位完全交集,生成分組表後,分組表名稱為使用者勾選的第一個子表的名稱。

    情況二:若沒有交集欄位,則提示:所選子表無欄位交集,無法生成分組表,建議取消操作並排查子表結構。如下圖所示:

    該情況下無法生成分組表。

    情況三:若存在部分交集欄位,則提示:存在交集外的子表欄位,這些欄位後續無法同步,建議取消操作並排查子表結構生成分組表後,分組表名稱為使用者勾選的第一個子表的名稱。如下圖所示:

    該情況下,生成的分組表中只包含交集欄位,可正常實時同步。

    2)生成分組表後,如下圖所示:

    點選「刪除」按鈕,可刪除分組表。

    點選「編輯」按鈕,可重新命名分組表(多個分組表間不能重名);可新增、刪除子表。如下圖所示:

    2.2 同步類型

    注:對於曆史資料量很大的情況,曆史資料往往要透過特定的高速裝載方式或者分多次多批匯入。管道任務僅使用在在全量同步完成後,接續開始增量同步,此時使用者可以使用僅增量同步類型。

    2.2.1 存量+增量同步

    先對所有存量資料同步,然後持續同步新增變化。
    任務初次運作時,將完整運作全量同步+增量同步;任務中斷或暫停後,再次運作時,如果所有表的全量同步都已完成,則將從增量的斷點開始,直接運作增量同步。

    2.2.2 僅增量同步

    增量同步起點
    說明
    選擇「任務啟動時間」作為起點時,將以任務啟動時間作為解析開始時間

    對於使用目標資料源推薦方式匯入曆史資料時,沒有篩選條件的曆史全量資料匯入,可以設定增量同步起點為任務執行開始時間

    1)任務僅包含增量階段,任務初次運作時,將按照配置的起始時間開始進行增量同步。

    2)支援資料源:MySQL、Oracle、SQLServer、PostgreSQL

    3)配置後生效時間點精度為:yyyy-MM-dd HH:mm:ss.000,精確到毫秒,時區以資料庫的時區為準。

    注1:對於PostgreSQL 資料源,僅支援任務啟動時間作為起點

    注2:SAP HANA 僅支援任務啟動時間作為起點


    選擇「自訂時間」作為起點時,可指定增量起始時間,預設為空,必填,允許指定到秒。

    可選時間的起點是檢查使用者資料庫日誌最早的時間。

    對於使用目標資料源推薦方式匯入曆史資料時,基於時間篩選的曆史資料匯入,可以設定增量同步起點為最早的篩選時間

    3. 欄位映射

    3.1 目標表建立方式

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

    3.1.1 自動建表

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

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

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

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

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

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

    3.1.2 選擇已存在表

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

    需注意:

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

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

    3.2 設定主鍵

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

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

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

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

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

    自動建表

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

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

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

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

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

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

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

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


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

    使用者配置了邏輯主鍵

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

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

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

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

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

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

    已存在表

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

    不允許調整物理主鍵配置

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

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

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

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

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

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

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

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

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

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

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

    3.3 設定分割槽鍵

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

    3.4 設定欄位映射

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

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

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

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

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

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

    3.6 篩選按鈕介紹

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

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

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

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

    3.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,只在第一次同步時,同步表描述,後續源表的表描述發生變化,不會同步到目標表。

    3.8 分組表和普通表不同

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

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

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

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

    4. 寫入方式

    1)3.2 節設定的物理主鍵,會自動顯示在「主鍵映射處。如下圖所示:

    2)主鍵映射處支援設定邏輯主鍵,詳細說明請參見本文 3.2 節內容。

    5. 進階設定

    4.2.13.3 版本,實時管道任務的存量階段支援並發同步:

    應用場景:

    1)實時管道任務首次啟動時,表的全量資料超大,導緻存量階段非常慢。

    2)在實時管道的維運場景中,可能會因為其他異常情況導緻漏數,恢複動作往往是重新同步,但曆史全量資料的同步耗時非常長,導緻實時管道的恢複成本非常高。

    功能說明:

    1)設定後,實時管道任務存量階段支援並發讀取,提高同步效率。

    2)當來源端為MySQL、SQLServer、Oracle、PostgreSQL時,支援該功能。

    3)同步方式選擇僅增量同步(重新同步時會走存量階段)、存量+增量同步,都顯示該設定項;但該設定項,只對存量階段生效。

    4)設定項說明:

    若來源表為分組表,每張子表都支援單獨配置切分鍵和並發數。

    設定項
    說明
    切分鍵

    按照切分鍵進行資料分片;僅支援整數/浮點數/字串這三種類型

    1)當來源表有物理主鍵時,預設為來源表的物理主鍵,且不可修改

    • 當有多個物理主鍵時,預設選擇第一個物理主鍵,可以透過下拉框選擇其他主鍵欄位

    2)當來源表沒有物理主鍵時,使用者透過下拉框進行配置

    讀取並發數
    • 根據使用者設定的並發數並行讀取全量數據;實際執行時,並發數不會超過 CPU 核數

    • 預設值為4 範圍:2-64

    • 若一個分片運作失敗,則相當於存量階段失敗,實時管道任務直接拋錯

    6. 後續步驟

    1)點選最下方的「儲存按鈕後,介面如下圖所示:

    2)此時可點選右上角的「任務控制按鈕,設定故障容許度機制、結果通知、任務屬性。如下圖所示:

    詳情請參見:配置實時管道任務-任務控制

    附件列表


    主題: 實時管道
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙