管道任務範例

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

    本文以 MySQL 資料同步為例,將 demotest 資料庫中的訂單資訊庫存資訊成本中心對照表」實時同步至 demo1 資料庫中。

    2. 操作步驟

    2.1 準備工作

    需準備一個獨立部署的 FDL 工程,該工程已註冊 資料管道相關功能點 

    注:對外 Demo 平台上已準備好環境,可到 對外 Demo 平台 上從本文 2.2 節步驟開始建立管道任務。

    步驟
    步驟一:資料源配置

    根據實際情況選擇源端和目標端資料庫,資料管道支援的資料庫請參見:資料管道支援的資料源類型

    在資料連結管理中配置源端和目標端的資料連結,便於在管道任務配置程式中,透過選擇資料源名稱來控制同步任務的讀取和寫入資料庫。詳情請參見:建立並管理資料源

    步驟二:準備資料庫環境

    基於需要設定資料管道任務的資料源,授予資料源配置的帳號在資料庫進行相應操作的權限。詳情請參見:数据库环境准备概述

    步驟三:管道任務環境準備

    部署 Kafka 開源流處理平台作為中間軟體。詳情請參見:部署Kafka配置傳輸佇欄

    步驟四:分配管道任務權限

    若需要使用資料管道的使用者不是超級管理者,則需要為對應使用者分配資料管道的使用權限。詳情請參見:管道任務管理權限

    注:管道任務的來源端若為 MySQL、SQLServer、Oracle,若同一個庫中的多張表都需要實時同步,建議在一個管道任務中實現;若同一個庫中的多張表,每張表單獨配置一個管道任務,資料庫將承受較大壓力。

    2.2 建立管道任務

    進入 FDL 工程,點選「資料管道」,建立一個管道任務。如下圖所示:

    2.3 配置管道任務

    2.3.1 選擇資料來源

    資料源選擇 fdl_demotest 資料連結後,點選右側的「資料源權限檢查」按鈕,可以查看資料源是否有日誌讀取權限。

    同步類型選擇「存量+增量同步」,先對所有存量資料同步,然後持續同步新增變化。

    同步物件選擇 demotest 資料庫中的訂單資訊庫存資訊成本中心對照表」。如下圖所示:

    更多設定項介紹請參見:配置管道任務-選擇資料來源

    2.3.2 選擇去向

    更多設定項介紹請參見:配置管道任務-選擇資料去向

    1)如下圖所示:

    步驟
    含義
    「庫」設定為demo1資料實時同步到 demo1 資料庫中
    源端刪除資料,選擇目標端執行邏輯刪除來源表刪除資料,目標端不實際刪除資料;目標表將新增一個名稱為_fdl_marked_deleted的布林型欄位(欄位預設為false),用於記錄資料刪除狀態。來源資料表刪除了一筆資料,此時同步至目標表,目標表不進行物理刪除,而是將_fdl_marked_deleted欄位更新為 true 
    開啟同步時標記時間戳按鈕所有目標表將新增一個名稱為_fdl_update_timestamp的長整數型態欄位,以毫秒級時間戳的形式記錄資料在資料庫中實際新增和更新的時間(資料庫所在時間
    開啟同步源表結構變化按鈕資料管道任務支援同步源庫DDL功能,開啟該按鈕後,在源庫發生DDL(刪除表、新增欄位、刪除欄位、修改欄位名稱、修改欄位類型(長度修改 & 相容類型修改))時,管道任務可以自動同步這些來源端變化至目標端,不需人為介入修改目標表結構

    2)點選下一步

    2.3.3 表欄位映射

    1)我們發現,目標表中表名稱標紅,這是因為目標表名稱中不能包含中文、特殊字元。

    依次為待同步的三張表:修改目標表名稱,為目標表設定邏輯主鍵,如下圖所示:

    「成本中心對照表」對應的目標表為cost,「訂單資訊」表對應的目標表為order,「庫存資訊」表對應的目標表為stock_test。

    2.3.2 節步驟中,我們開啟了同步時標記時間戳按鈕、目標端執行邏輯刪除」,目標表中新增_fdl_update_timestamp、_fdl_marked_deleted欄位。如下圖所示:

    本步驟中,目標表可以選擇已存在表、可批量修改表名、主鍵相關說明等,詳情請參見:配置管道任務-表欄位映射

    2)點選下一步

    2.3.4 管道控制

    如下圖所示:

    更多設定項介紹請參見:配置管道任務-管道控制

    步驟
    含義
    髒資料臨界值為 1000 行

    某次任務運作期間髒資料達到1000條後,任務會異常中

    注1:限制最多10w行,且重啟任務後,會重置臨界值統計。

    注2:若需要對產生的髒資料進行處理,詳情參見:髒資料處理

    失敗重試:重跑 3 次,每次間隔 2 分鐘管道任務失敗後,重試 3 次,每次間隔 2 分鐘
    結果通知

    將源表結構變化、異常或髒資料導致的任務終止資訊以郵件形式通知用

    日誌等級設定INFO 為普通資訊,用於記錄運作狀態或重要事件,可列印詳細的日誌,供使用者查看

    2.4 效果查看

    1)可查看讀取行數、寫入行數。如下圖所示:

    可看到「庫存資訊」表同步時產生 1 條髒資料,可參考 文檔 對髒資料進行處理。

    2)demo1 資料庫中可查看到已同步的 3 張表。

    「成本中心對照表」對應的目標表 cost 表資訊如下圖所示:

    1717570358475700.png

    3)demotest 資料庫中的成本中心對照表」中:

    • 刪除 collid 為 1.01.02 的資料。

    • collid 為 1.01.03 的資料,fname 改為產品研發部

    • 新增 test 欄位。

    demo1 資料庫中的 cost 表如下圖所示:

    1717570253288599.png

    QQ 信箱收到源表結構變化的資訊:

    17.png

    2.5 管道任務維運

    點選「任務維運>管道任務>任務管理」,可查看任務運作狀態、資料同步效能、檢查異常情況、以及對異常進行處理等。如下圖所示:

    詳情請參見:管道任务运维





    附件列表


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