全部產品
Search
文件中心

DataWorks:整庫即時同步任務配置

更新時間:Mar 07, 2026

整庫即時同步功能通過一次性全量遷移持續增量捕獲相結合,將來源資料庫(如MySQL、Oracle)完整、低延遲地同步至目標系統。整庫即時同步任務支援對源庫歷史資料進行全量同步,自動初始化目標端表結構與資料;隨後,自動轉為即時增量模式,利用CDC等技術持續捕獲並同步後續的資料變更。此能力適用於即時數倉、資料湖構建等情境。本文以MySQL資料整庫即時同步至MaxCompute為例,講述任務配置方式。

準備工作

  • 資料來源準備

    • 已建立來源與去向資料來源,資料來源配置詳見:資料來源管理

    • 確保資料來源支援整庫即時同步能力,參見:支援的資料來源及同步方案

    • 部分資料來源需要開啟日誌,如MySQL、Hologres、Oracle等。不同的資料來源開啟方式不同,詳見資料來源配置:資料來源列表

    • MaxCompute:Decimal類型為MaxCompute 2.0支援的資料類型,所以在同步前,您需要先開啟MaxCompute2.0資料類型。詳情請參見2.0資料類型版本

  • 資源群組:已購買並配置Serverless資源群組

  • 網路連通​:資源群組與資料來源之間需完成網路連通配置

適用範圍

  • DataWorks支援整庫即時整庫全增量兩種類型。兩者均可實現對源庫的歷史資料進行全量同步,隨後自動轉為即時增量模式,但兩者的時效性和對目標表要求有一定差異:

    • 時效性:整庫即時的時效性為秒級~分鐘級;整庫全增量的時效性為T+1。

    • 目標表(MaxCompute)

      • PK Delta Table:整庫即時同步支援全部功能;

      • 普通表 和 Append Delta Table:僅在整庫即時同步任務中選擇增量同步處理模式時,支援增量流水模式。

      • 整庫全增量:對上述所有表類型均支援。

  • 整庫即時同步任務支援在數據開發 (Data Studio) 與數據集成兩大模組中進行配置,兩者在功能上互連。

    • 配置一致:無論是資料開發還是在Data Integration模組中建立任務,其配置介面、參數設定和底層功能完全一致。

    • 雙向同步:在Data Integration模組中建立的任務,會自動同步並顯示在資料開發模組的data_integration_jobs目錄下。這些任務會按照源端類型-目的端類型的通道進行歸類,便於統一管理。

配置任務

步驟一:建立同步任務

  1. 登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的Data Integration > Data Integration,在下拉框中選擇對應工作空間後單擊進入Data Integration

  2. 在左側導覽列單擊同步任務,然後在頁面頂部單擊新建同步任務,並配置任務資訊:

    • 數據來源類型MySQL

    • 數據去向類型MaxCompute

    • 具体类型整庫即時

    • 同步步驟

      • 結構遷移:自動在目標端建立與源端匹配的資料庫物件(如表、欄位、資料類型等),但不包含資料。

      • 全量同步(可選):一次性將源端指定對象(如表)中的所有歷史資料完整地複製到目標端。通常用於首次資料移轉或資料初始化。

      • 增量同步(可選):在全量同步完成後,持續地捕獲源端發生的變更資料(新增、修改、刪除),並將其同步至目標端。

步驟二:配置資料來源與運行資源

  1. 來源數據源地區選取項目已添加至工作空間的MySQL資料來源,在去向數據源地區選取項目已添加的MaxCompute資料來源。

  2. 運行資源地區,選擇同步任務所使用的資源組,並為該任務分配資源組CU

    說明

    當任務日誌中出現Please confirm whether there are enough resources...等資源不足的提示時,說明當前資源群組的可用計算單元(CU)已無法滿足任務啟動或啟動並執行需求。可在資源組配置面板中,適當調高任務佔用的CU數量,以分配更多計算資源。

    資源設定大小推薦值詳見:Data Integration推薦CU,實際使用時需根據實際情況進行調整。

  3. 並確保來來源資料源與去向資料來源均通過連通性檢查

步驟三:同步方案配置

1. 配置資料來源

  • 此步驟中,您可以在源端庫表地區選取項目源端資料來源下需要同步的表,並單擊image表徵圖,將其移動至右側已選庫表。若庫表數較多,可以使用庫過濾或者表過濾,通過配置Regex來選擇需要同步的表。

    image

  • 當需要將多個分庫分表(結構相同)寫入同一目標表時,可使用正則選表

    image
    在源表配置中填寫Regex,DataWorks 將自動識別並採集所有匹配的源表,並將其資料統一寫入該運算式映射的目標表中。

    說明

    此方式適用於分區表合并同步情境(類分庫分表同步),提升配置效率,避免重複添加多對一同步規則。

2. 配置資料去向

若整庫即時同步任務僅選擇增量同步,可配置寫入目的表時的增量同步處理模式。

  • 重放:僅支援PK Delta Table,與正常同步類似,僅同步資料欄位。

  • 增量流水:支援普通表和Append Delta Table,將源表即時資料附加增刪改等元資訊後,寫入至目的表。增量流水表格式可參見:增量流水表格式

3. 目標表映射

在此步驟,您需要定義源表與目標表的映射規則,並指定主鍵、動態分區、DDL/DML配置等規則,以確定資料寫入方式。

操作

說明

刷新映射

系統會自動列出您選擇的源端表,但目標表的具體屬性需要您重新整理確認後才會生效。

  • 批量選中需要同步的表,單擊批量重新整理映射。

  • 目標表名:目標表名將根據目標表名映射自定義規則自動產生。預設為 ${源端庫名}_${表名},如果目標端不存在此同名表,系統將自動為您建立。

目標表名映射自定義(可選)

系統存在預設的表名建置規則:${源端庫名}_${表名}。您也可以在目標表名映射自定義列,單擊編輯按鈕可以新增自訂目標表名規則。

  • 規則名稱:定義規則名稱,建議為規則配置一個具有明確業務意義的名稱。

  • 目標表名:目標表名可以通過單擊image按鈕,選擇手動輸入內建變數進行拼接,產生目標表名。其中變數支援源端資料來源名,源端資料庫名和源端表名。

  • 編輯內建變數:內建變數可以在原有的基礎上進行字串轉換。

可實現如下情境:

  1. 名添加前尾碼:通過設定常量在源端表名的基礎上,添加首碼或者尾碼。

    規則配置

    應用效果

    image

    image

  2. 字串統一替換:將源端表名的字串dev_,統一替換為prd_

    規則配置

    應用效果

    image

    image

  3. 多張表寫入一張表:目標表名設為常量。

    規則配置

    應用效果

    image

    image

編輯欄位類型映射(可選)

系統存在預設的源端欄位類型與目標端欄位類型映射,您可以單擊表格右上方的編輯字段類型映射,自訂來源端表與目標端表欄位類型映射關係,配置完後單擊應用並刷新映射

編輯欄位類型映射時,需要注意欄位類型轉換規則是否正確,否則會導致類型轉換失敗而產生髒資料,影響任務運行。

編輯目標表結構(可選)

系統會根據自訂的表名映射規則,自動建立尚不存在的目標表,或複用已存在的同名表。

DataWorks將基於源端表結構自動產生目標表結構,常規情境下無需人工幹預。您也可以通過以下方式,修改表的表結構:

  • 單表新增欄位:單擊目標表名列的image.png按鈕添加欄位。

  • 批量新增欄位:選中待同步的所有表,在表格底部選擇批核修改 > 目標表結構-批量修改和新增字段

  • 不支援重新命名列名。

已存在的表僅支援添加欄位;建立表添加欄位、分區欄位,設定表類型或表屬性等。詳見介面開放編輯地區。

目標表字段賦值

原生欄位會根據源端表和目標表的同名欄位進行自動對應,上述步驟中的新增欄位和分區欄位需要手動賦值。操作如下:

  • 單表賦值:單擊目標表字段賦值列的配置按鈕,為目標表欄位賦值。

  • 批量賦值:在列表底部選擇批核修改 > 目標表字段賦值為目標表中相同的欄位批量賦值。

在賦值時支援賦值常量與變數,可在賦值方式中進行切換類型,支援方式如下:

  • 表欄位

    • 手動賦值:直接輸入常量值,如:abc

    • 選擇變數:下拉選擇系統支援的變數,可在介面的image提示中查看變數的具體含義。

    • 函數:支援通過函數對目標欄位進行簡單變換。使用方式詳見:使用函數運算式為目標表欄位賦值

  • 分區欄位:支援按照來源欄位的枚舉值或者事件時間作為分區值動態建立分區。

    • 手動賦值:直接輸入常量值,如:abc

    • 來源欄位:將源端表欄位的值作為分區欄位的值,其中取實值型別可選欄位值或者時間值。

      • 欄位值:來源欄位中值的枚舉值,建議採用有限枚舉值個數有限的欄位,防止分區個數過多且資料過於分散。

      • 時間值:若來源欄位中的值為時間,可根據不同的格式進行相應處理,並指定目標格式對分取值進行格式化。

        • 時間字串:表示時間的字串,如:“2018-10-23 02:13:56”、“2021/05/18”。通過指定源端和目標端的時間格式的方式將其序列化為時間。如上文舉例的字串,可以使用yyyy-MM-dd HH:mm:ssyyyy/MM/dd的格式進行序列化來識別。

        • 時間對象:如果來源值本身是DateDatetime這種時間類型的格式,請直接選擇該類型。

        • Unix時間戳記(秒):秒層級時間戳記,也支援符合10位時間戳記格式的數字或字串,比如1610529203“1610529203”

        • Unix時間戳記(毫秒):毫秒層級時間戳記,也支援符合13位時間戳記格式的數字或字串,比如1610529203002“1610529203002”

    • 選擇變數:可將源端事件變更時間EVENT_TIME,作為分區的取值來源,使用方式與來源欄位相似。

    • 函數:支援通過函數對來源欄位進行簡單變換後作為分區值。使用方式詳見:使用函數運算式為目標表欄位賦值

說明

注意,分區個數過多會影響同步效率,單日新增分區超過1000個,分區建立失敗並終止任務。因此,定義分區欄位賦值方式時,需要預估分區可能產生的個數。謹慎使用秒級、毫秒級的分區建立方式。

源端切分列

您可以在源端切分列中下拉選擇源端表中的欄位或選擇不切分。同步任務執行時將根據該欄位切分為多個task,以便並發、分批讀取資料。

推薦使用表主鍵作為源端切分列,不支援字串、浮點和日期等其他類型。

目前僅源端為MySQL時支援源端切分列。

是否跳過全量同步

若已在步驟三配置全量同步,可以單獨取消同步某個表的全量資料同步。適用於已經通過其他方式將全量資料同步至目標端的情境。

全量條件

在全量階段對源端進行條件過濾。此處只需寫where子句,不需要寫出where關鍵字。

DML規則配置

DML訊息處理用於在資料寫入目標端之前,對源端捕獲的變更資料(InsertUpdateDelete)進行精細化的過濾與控制,此規則僅在增量階段生效。

其他

錶類型:MaxCompute支援普通表、PK Delta TableAppend Delta Table。若目標表狀態為待建立,可在編輯目標表結構時選擇表類型,已有表無法更改類型。

  • 整庫即時的全量+增量模式僅支援目標表為PK Delta Table表類型。

  • 純增量模式下的重放模式支援PK Delta Table,增量流水模式支援普通表類型和Append Delta Table

Delta Table詳細介紹參見:Delta Table

步驟四:進階配置

進階參數配置

如果需要對任務做精細化配置,達到自訂同步需求,可以進入高級參數頁簽,修改進階參數。

  1. 單擊介面右上方的進階配置,進入進階參數配置頁面。

  2. 根據參數提示,修改參數值,參數含義見參數名稱後的解釋。

  3. 也支援使用AI配置,輸入自然語言修改指令,如調整任務並發數,由大模型產生參數推薦值,您可以根據實際情況選擇是否接受AI產生的參數。

    image

重要

請在完全明白對應參數的含義情況下再進行修改,避免產生任務延時、資源佔用過大導致阻塞其他任務、資料丟失等不可預料的問題。

DDL能力配置

即時同步部分鏈路可以感知源端表結構的中繼資料變更,並且通知目標端,使目標端同步更新,或採取其他諸如警示、忽略或終止運行等處理策略。

您可以單擊介面右上方的DDL能力配置,針對每一種變更類型設定對應的處理策略,不同的通道支援的處理策略不同。

  • 正常處理:由目標端處理源端的DDL變更資訊。

  • 忽略:忽略變更訊息,目標端不做修改。

  • 出錯:終止整庫即時同步任務,狀態置為出錯

  • 警示:當源端出現此類變更時,向使用者警示。需在報警配置中配置DDL通知規則。

說明

當源端新增列並通過DDL同步在目標端也建立了該列後,系統不會對目標表中的存量資料進行資料回填。

步驟五:發布並執行任務

  1. 完成所有配置後,單擊頁面底部的保存,完成任務配置。

  2. 整庫同步任務不支援直接調試,需要發布至運維中心運行。因此建立或者編輯任務均需執行发布操作後方可生效。

  3. 發布時,若勾選发布后直接启动运行,則在發布時會同步啟動任務。否則,發布完成後,需要進入數據集成 > 同步任務介面,在目標任務的操作列,手動啟動任務。

  4. 單擊任務列表中對應任務的名稱/ID,查看任務的詳細執行過程。

步驟六:警示配置

1.新增警示

數據集成 > 同步任務列表,找到對應的整庫即時任務,單擊操作列的更多 > 報警配置,可為任務配置警示策略。

image

(1) 單擊新建規則,配置警示規則。

您可以通過設定報警原因,對任務的業務延遲Failover任務狀態DDL通知任務資源利用率等指標進行監控,並根據指定的閾值設定CRITICAL或WARNING兩種不同層級的警示方式。

  • 通過設定高級參數配置,可以控制警示資訊發送的時間間隔,防止一次性發送資訊太多,造成浪費和訊息堆積。

  • 若警示原因選擇業務延遲任務狀態任務資源利用率,也支援開啟恢複通知,方便任務恢複正常後,通知接收人。

(2) 管理警示規則。

對於已建立的警示規則,您可以通過警示開關控制警示規則是否開啟,同時,您可以根據警示層級將警示發送給不同的人員。

2.查看警示

單擊展開工作清單的更多 > 報警配置,進入警示事件,可以查看已經發生的警示資訊。

管理工作

編輯任務

  1. 數據集成 > 同步任務介面,找到已建立的同步任務,單擊操作列的更多,單擊編輯,可以修改任務資訊,操作步驟同任務配置。

  2. 對於非運行狀態的任務,您可以直接修改配置並儲存,然後將任務發布至生產環境使其生效。

  3. 對於運行中的任務,編輯任務並發布時,若未選擇发布后直接启动运行,原有的操作按鈕將變為應用更新。您須單擊此按鈕,變更才會線上上環境中生效。

  4. 單擊應用程式更新後,系統會對變更內容執行“停止發布重啟”三個步驟。

    • 若變更方式為新增表或切換已有表

      更新應用時不支援選擇位點,單擊確認後,執行新表的結構遷移全量初始化,待全量初始化完成後,開始與其他原有表一起執行增量操作。

    • 若修改其他資訊:

      更新應用時支援選擇位點,單擊確認後,從指錨點繼續運行。若不指定,從上次停止的時間位點開始運行。

    未修改的表均不受影響,在更新重啟後,會從上次停止的時間點繼續運行。

查看任務

建立完成同步任務後,您可以在同步任務頁面查看當前已建立的同步工作清單及各個同步任務的基本資料。

image

  • 您可以在操作列啟動停止同步任務,在更多中可以對同步任務進行編輯查看等操作。

  • 已啟動的任務您可以在執行概況中看到任務啟動並執行基本情況,也可以單擊對應的概況地區查看執行詳情。

    image

斷點續傳

適用情境

在任務啟動或重啟時,手動重設位點主要適用於以下情境:

  • 任務恢複與資料續傳:當任務因故中斷後,為確保資料從準確的斷點處恢複,可能需要手動指定一個停機時間點作為新的啟動位點。

  • 資料問題排查與回溯:若發現同步後的資料存在丟失或異常,可將位點回溯至問題發生前的時間點,對問題資料進行重放和修複。

  • 任務配置重大變更:在對任務配置(如目標表結構、欄位對應等)進行重大調整後,建議重設位點從一個明確的時間點開始同步,以保證新配置下的資料準確性。

操作說明

單擊啟動,在彈窗中選擇是否重置位點

image

  • 不勾選重設位點,直接運行:繼續從上次停止的時間位點(最後一次checkpoint)運行。

  • 重設位點,並選擇時間:從指定的時間位點開始運行,注意選擇的時間不要超過源端的Binlog支援的最早時間位點。

重要

如果您在執行同步任務時提示位點錯誤或不存在,請按如下方式嘗試解決:

  • 重設位點:在啟動即時同步任務時,重設位點並選擇源庫可用的最早位點。

  • 調整日誌保留時間:如果資料庫位點到期,可以考慮在資料庫中調整日誌的保留時間,例如設定為7天。

  • 資料同步:如果資料已經丟失,可以考慮重新全量同步,或者配置一個離線同步任務來手動同步丟失的資料。

常見問題

整庫即時常見問題參見:即時同步常見問題全增量同步處理任務常見問題

附錄:增量流水表格式

源表欄位平鋪

欄位名稱

說明

sequence_id

增量事件的記錄 ID,值唯一且遞增。

operation_type

操作類型(I/D/U)

execute_time

資料對應的時間戳記

before_image

是否是變更前(Y/N)

after_image

是否是變更後(Y/N)

src_datasource

資料來源的資料來源

src_database

資料來源的資料庫

src_table

資料來源的表

欄位1

真實資料欄位1

欄位2

真實資料欄位2

欄位3

真實資料欄位3

源表欄位合并為 JSON

欄位名稱

說明

sequence_id

增量事件的記錄 ID,值唯一且遞增。

operation_type

操作類型(I/D/U)
DDL :ALTER、TRUNCATE、RENAME

execute_time

資料對應的時間戳記

before_image

是否是變更前(Y/N)

after_image

是否是變更後(Y/N)

src_datasource

資料來源的資料來源

src_database

資料來源的資料庫

src_table

資料來源的表

ddl_sql

當操作為 DDL 類型時,DDL 語句寫入本欄位

data_columns

真實資料欄位合并為 JSON