全部產品
Search
文件中心

DataWorks:Data Integration側同步任務能力說明

更新時間:Jun 19, 2024

DataWorks為您提供多種資料來源之間進行不同資料同步情境的全增量同步處理任務,包括即時資料同步、離線全量同步、離線增量同步處理等同步情境,助力企業資料更高效、更便捷的一鍵上雲。

背景資訊

實際業務情境下,資料同步通常不能通過一個或多個簡單離線同步或者即時同步任務完成,而是由多個離線同步即時同步資料處理等工作群組合完成,這就會導致資料同步情境下的配置複雜度非常高。

為瞭解決上述問題,DataWorks提出了面向業務情境的同步任務配置化方案,支援不同資料來源的一鍵同步功能,例如,“一鍵即時同步至Elasticsearch”、“一鍵即時同步至Hologres”和“一鍵即時同步至MaxCompute”功能等,通過此類功能,您只需要進行簡單的配置,就可以完成一個複雜業務情境。

說明

以業務資料庫資料同步到MaxCompute資料倉儲為例,當有大量的資料存放區在資料庫系統裡,需要將資料庫中的全量及增量資料同步到MaxCompute進行數倉分析時,Data Integration傳統方式是通過全量同步或者依賴資料庫表中的modify_time等欄位進行增量同步處理。但實際生產情境下,資料庫表中不一定存在modify_time等欄位,因此不能使用傳統的基於JDBC抽取的方式進行增量同步處理。而“一鍵即時同步至MaxCompute”功能實現了資料庫全增量即時同步到MaxCompute以及在MaxCompute上進行自動的全增量合并,可以使整個同步情境化繁為簡。

全增量同步處理任務具有如下優勢:

  • 全量資料初始化。

  • 增量資料即時寫入。

  • 增量資料和全量資料定時自動合并寫入新的全量表分區。

功能概述

全增量同步處理任務支援的能力如下圖所示:架構

功能

描述

複雜網路環境下的資料同步

支援雲資料庫、本地IDC、ECS自建資料庫或非阿里雲資料庫等環境下的資料同步。您可以根據資料庫所在網路環境,選擇合適的全增量同步處理任務來實現資料來源與資源群組的網路連通。在配置同步任務前,您需要確保Data Integration資源群組與您將同步的資料來源端與目標端網路環境已經連通,對應資料庫環境與網路連通配置詳情請參見:配置資源群組與網路連通

資料同步情境

全增量同步處理任務支援單表資料同步至目標端單表、分庫分表資料同步至目標端單表、整庫(多表)資料同步至目標端多表。

DataWorks為您提供多種類型的全增量同步處理任務。包括整庫離線同步(一次性全量同步、周期性全量同步、離線全增量同步處理、一次性增量同步處理、周期性增量同步處理)、一鍵即時同步(一次性全量同步,即時增量同步處理)。詳情請參見:支援的資料來源及同步方案

全增量同步處理任務配置

全增量同步處理任務配置時支援的能力如下,詳細配置請參見:Data Integration側同步任務配置。任務配置相關能力說明請參見:Data Integration側同步任務配置相關能力

全增量同步處理任務營運

  • 全增量同步處理任務為您提供了一鍵增加及刪除同步表功能,方便您為已成功配置啟動並執行同步任務快速添加新表或刪除已有同步表。詳情請參見:管理全增量同步處理任務

  • 支援您查看所選時間周期中,目標全增量同步處理任務的整體運行狀態分布、資源使用率,以及離線和即時子任務的運行狀態分布、同步速率、同步資料及任務延遲情況,詳情請參見:查看任務運行概況

  • 全增量同步處理任務將根據方案屬性,產生即時子任務或多個離線子任務,您可以對子任務自訂監控警示規則。即時同步子任務監控警示詳情請參見即時同步任務營運,離線同步子任務詳情請參見離線同步任務營運

Data Integration側同步任務配置相關能力

支援的能力

說明

重新整理表映射

單擊重新整理源端與目標端表映射按鈕後,下方表格會顯示重新整理後的結果。重新整理映射關係如上圖所示,hudi_b.tb_order_1為已有表,hudi_b.tb_order_2hudi_b.tb_order_3為自動建表。

查看或修改單表表結構

單擊表名列的表名,可以開啟可視化建表的配置視窗,支援您根據業務需要,對錶進行編輯。編輯表結構

上圖樣本對自動建表hudi_b.tb_order_3增加了一個add_col欄位,資料類型配置為TEXT,欄位描述為建立表增加欄位。調整完畢後,單擊應用並重新整理映射按鈕進行儲存。

重要

在自動建表情境下:

  • 源端已有欄位不允許刪除或調整順序。

  • 源端已有欄位名不允許修改。

  • 源端已有欄位可以調整資料類型、主鍵、描述等配置。

已有表上圖樣本對已有表hudi_b.tb_order_1增加了一個add_col欄位,資料類型配置為TEXT,欄位描述為已有表增加欄位。調整完畢後,單擊應用並重新整理映射按鈕進行儲存。

重要

在使用已有表情境下:

  • 已有欄位除描述外,不允許做任何調整。

  • 可以新增欄位。

批量修改目標表結構

修改目標表結構

選中多行記錄後,單擊批量修改目標表結構按鈕,可以對選中表進行大量操作。調整完畢後,單擊應用並重新整理映射按鈕進行儲存。

重要
  • 單擊批量修改目標表結構按鈕後,彈窗預設顯示選中表欄位的交集。

  • 在此彈窗中,可以添加新的欄位,如上圖所示,添加欄位batch_add_col

您還可以單擊hudi_b.tb_order_3查看執行大量操作後的最終表結構,如下圖所示:查看結果

自訂目標schema名或表名

全增量同步處理任務預設將源端資料庫、資料表寫入目標端同名schema或同名表中,如果目標端不存在該schema或表,將會自動建立。同時,支援您定義最終寫入目標端的schema或表名稱。詳情請參見:設定表(庫)名的映射規則

說明
  • 源端表名、schema名支援通過Regex轉換為目標端最終寫入的表名、schema名。

  • 您還可以使用內建的變數組合產生目標表名,同時,對轉換後的目標表名支援添加首碼和尾碼。

為目標欄位賦值

全增量同步處理任務預設同名映射,將源端欄位寫入目標端同名欄位中。同時,支援您為目標表新增欄位並為欄位賦值常量或變數。單擊目標表欄位賦值列的編輯,彈窗會自動顯示出調整後的表結構。

  • idname欄位在源表、目標表中均存在,此欄位預設使用源端表對應欄位的值,不允許修改。

  • add_colbatch_add_col為手動調整後的Hologres表與源端表結構的DIFF欄位,此欄位允許進行賦值操作。以下圖配置為例:

    • 手動賦值:輸入固定字串固定值寫入,則此字串將被寫入到Hologres表中add_col欄位中。

    • 選擇變數:選擇內建變數,變數代表不同的業務含義,變數指代的內容,將被寫入到Hologres表的batch_add_col欄位中。

賦值

說明

支援的變數解釋:

  • DATASOURCE_NAME_SRC:源端資料來源名稱

  • DB_NAME_SRC:源端資料庫名稱

  • TABLE_NAME_SRC:源表名稱

  • DATASOURCE_NAME_DEST:目標端資料來源名稱

  • DB_NAME_DEST:目標端資料庫名稱

  • TABLE_NAME_DEST:目標表名稱

  • DB_NAME_SRC_TRANSED:源庫名轉換後名稱

  • EXECUTE_TIME:源端事件變更時間

定義DDL/DML訊息處理策略

針對源端DDL類型的訊息,您可以在任務配置時,根據業務需要,對不同的DDL訊息設定同步至目標端的處理策略。目標端支援的DML與DDL操作詳情請參見:支援的DML及DDL操作

說明
  • 整庫離線同步情境不支援該功能。

  • DML規則支援邏輯刪除:開啟邏輯刪除後,將自動在目標表追加欄位_data_integration_deleted_,欄位類型為Boolean。當上遊資料為DELETE操作時,Hologres側將轉換為update tb_xxx set _data_integration_deleted_=true where id=xxx進行實際寫入,以實現邏輯刪除功能。

  • 開啟邏輯刪除後,可以再次查看目標表結構配置,如下圖所示:查看配置