全部產品
Search
文件中心

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

更新時間:Dec 10, 2025

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

準備工作

功能入口

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

使用限制

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

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

  • 目標表(MaxCompute):整庫即時僅支援Delta Table類型的表,整庫全增量(准即時)均可支援。

配置任務

一、建立同步任務

您可以通過以下兩種方式建立同步任務:

  • 方式一:在同步任務頁面,選擇來源去向,單擊建立同步任務。此處來源選擇MySQL,去向選擇MaxCompute。

  • 方式二:在同步任務頁面,如果工作清單為空白,單擊請建立

image

二、配置基本資料

  1. 配置任務名稱、任務描述和責任人等基本資料。

  2. 選擇同步類型:根據來源和去向,Data Integration基於源端資料庫與目標端資料庫類型展示目前支援的同步類型,本文選擇整庫即時同步類型。

  3. 同步步驟:

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

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

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

三、網路與資源配置

  1. 網路與資源配置地區,選擇同步任務所使用的資源群組。您可以為該任務分配任務資源佔用CU數。

  2. 來來源資料源選擇已添加的MySQL資料來源,去向資料來源選擇已添加的MaxCompute資料來源後,單擊測試連通性image

  3. 確保來來源資料源與去向資料來源均連通成功後,單擊下一步

四、選擇要同步的庫表

此步驟中,您可以在源端庫表地區選取項目源端資料來源下需要同步的表,並單擊image表徵圖,將其移動至右側已選庫表

image

若庫表數較多,可以使用庫過濾或者表過濾,通過配置Regex來選擇需要同步的表。

五、目標表映射

在此步驟,您需要定義源表與目標表的映射規則,並指定主鍵、動態分區、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支援普通表、Delta Table。若目標表狀態為待建立,可在編輯目標表結構時選擇表類型,已有表無法更改類型。

    整庫即時僅支援目標表為Delta Table表類型,普通表類型請參見整庫全增量(准即時)任務
  • 若表類型為Delta Table類型,可定義表Bucket數量歷史資料可查詢時間

Delta Table詳細介紹參見:Delta Table

六、DDL能力配置

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

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

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

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

  • 警示:當源端出現此類變更時,向使用者警示。需配合警示配置使用。

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

說明

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

七、其他配置

警示配置

1.新增警示

image

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

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

通過設定疲勞度控制,可以控制警示資訊發送的時間間隔,防止一次性發送資訊太多,造成浪費和訊息堆積。

(2) 管理警示規則。

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

2.查看警示

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

資源群組配置

任務所使用的資源群組及其配置可在介面右上方的資源群組配置面板中進行管理。

1. 查看與切換資源群組

  • 單擊資源群組配置可查看當前任務綁定的資源群組。

  • 如需更換,可在此處切換至其他的可用資源群組。

2. 調整資源與排查“資源不足”錯誤

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

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

進階參數配置

如果需要對任務做精細化配置,達到自訂同步需求,可以單擊自訂進階參數列的配置,修改進階參數。

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

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

重要

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

八、執行同步任務

  1. 完成所有配置後,單擊儲存完成配置,儲存任務。

  2. Data Integration > 同步任務介面,找到已建立的同步任務,單擊操作列的發布。發布時若勾選發布後直接啟動運行,則單擊確認後,任務會立即執行,否則需要手動啟動。

    說明

    Data Integration的任務需要發布至生產環境運行,因此建立或者編輯任務均需執行發布操作後方可生效。

  3. 單擊工作清單中對應任務的名稱/ID,查看任務的詳細執行過程。

編輯任務

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

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

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

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

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

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

    • 若修改其他資訊:

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

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

查看任務

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

image

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

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

    image

斷點續傳

適用情境

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

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

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

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

操作說明

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

image

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

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

重要

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

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

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

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

常見問題

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

更多案例