全部產品
Search
文件中心

DataWorks:一鍵即時同步至Hologres

更新時間:Jun 19, 2024

一鍵即時同步至Hologres方案支援全增量一體化同步,先進行全量資料移轉,然後再即時同步增量資料至目標端。同時,還支援單獨進行即時增量資料同步,適用於已經通過其他方式將全量資料同步至Hologres的情境,本文為您介紹如何建立一鍵即時同步至Hologres任務。

前提條件

  1. 已完成資料來源配置。您需要在Data Integration同步任務配置前,配置好您需要同步的源端和目標端資料庫,以便在同步任務配置過程中,可通過選擇資料來源名稱來控制同步任務的讀取和寫入資料庫。同步任務支援的資料來源及其配置詳情請參見支援的資料來源及同步方案

    說明

    資料來源相關能力介紹詳情請參見:資料來源概述

  2. 已完成資料來源環境準備。您可以基於您需要進行的同步配置,在同步任務執行前,授予資料來源配置的帳號在資料庫進行相應操作的許可權。詳情請參見:資料庫環境準備概述

背景資訊

方案屬性

說明

讀寫表個數

  • 支援將源端多表資料寫入至目標端多表。

  • 支援通過自訂目標schema名與表名的方式實現源端多表資料寫入至目標端單表。

    說明

    分庫分表同步可採用該方案。分庫分表配置可參考最佳實務:MySQL分庫分表同步至Hologres(方案1.0)

工作群組成

當前方案將分別建立用於全量資料初始化的離線同步子任務,和用於增量資料即時同步的Data Integration即時同步子任務,方案產生的離線同步子任務個數與最終讀取的源端表個數有關。

資料寫入

任務配置當天,先執行全量資料初始化的離線同步任務,待全量資料執行完成後,會啟動即時同步任務將增量資料即時同步至Hologres目標表。

說明

全量資料初始化完成後,該離線同步任務將會被凍結。

注意事項

同步資料至Hologres時,目前僅支援將資料寫入分區表子表,暫不支援寫入資料至分區表父表。

操作流程

  1. 步驟一:選擇同步方案

  2. 步驟二:配置網路連通

  3. 步驟三:設定同步來源與規則

  4. 步驟四:設定目標表

  5. 步驟五:設定表粒度同步規則

  6. 步驟六:DDL訊息處理規則

  7. 步驟七:設定任務運行資源

  8. 步驟八:執行同步任務

步驟一:選擇同步方案

建立同步解決方案任務,根據需求選擇需要同步的源端資料來源和目標端資料來源,並選擇一鍵即時同步至Hologres方案。

步驟二:配置網路連通

源端選擇已建立的源端資料來源與目標端資料來源,以及用於執行同步任務的資源群組。並測試資源群組與資料來源的網路連通。詳情請參見:配置同步網路連結

步驟三:設定同步來源與規則

  1. 基本配置地區,配置同步解決方案的名稱、任務存放位置等資訊。

  2. 資料來源地區,確認需要同步的源端資料來源相關資訊。

  3. 選擇同步的源表地區,選中需要同步的源表,單擊表徵圖表徵圖,將其移動至已選源表

    該地區會為您展示所選資料來源下所有的表,您可以選擇整庫全表或部分表進行同步。

  4. 設定表(庫)名的映射規則地區,單擊添加規則,選擇相應的規則進行添加。

    同步時預設將源端資料表寫入目的端同名schema或同名表中,同時,您可以通過添加映射規則定義最終寫入目的端的schema或表名稱,實現將多張表資料寫入到同一個目標表中,或統一將源端某固定首碼的表名在寫入目標表時更新為其他首碼。支援通過Regex轉換寫入的schema名或表名,還支援使用內建變數拼接目標表名。配置邏輯請參見:設定同步來源與規則

步驟四:設定目標表

  1. 設定寫入Hologres策略

    寫入Hologres策略目前僅支援重放,重放表示鏡像功能,即源端INSERT一條記錄,Hologres中也INSERT一條記錄;源端執行UPDATE或DELETE操作,Hologres中也進行UPDATE或DELETE。

  2. 重新整理源表和Hologres表映射。

    單擊重新整理源表和Hologres表映射,將根據您在步驟三配置的目標檔案映射規則來產生目標表,若步驟三未配置映射規則,將預設寫入與源表同名的目標表,若目標端不存在該同名表,將預設建立。同時,您可以修改表建立方式、為目標表在源有表欄位基礎上增加附加欄位。

    功能

    描述

    為非主鍵表選擇主鍵

    由於當前方案不支援無主鍵表同步,所以您需要單擊同步主鍵列的編輯按鈕,為無主鍵表設定自選主鍵,即選擇表中一個或部分欄位作為主鍵。

    選擇表建立方式

    支援自動建表使用已有表

    • 表建立方式選擇使用已有表時,您可以在Hologres表名列對應的下拉式清單中選擇需要使用的表名稱。

    • 表建立方式選擇自動建表時,Hologres表名列顯示自動建立的Hologres表名稱。您可以單擊表名稱,查看和修改建表語句。

    是否全量同步

    您可以在全量同步列選擇是否需要在即時同步前先將全量資料同步至目標端。

    如果關閉全量同步,則對應的表將不進行離線全量同步。適用於已經通過其他方式將全量資料同步至目標端的情境。

    為目標欄位添加附加欄位

    單擊操作列的編輯附加欄位,可以為目標表在源端欄位的基礎上增加欄位並為欄位賦值。支援手動賦值常量與變數。

    說明

    僅在表建立方式自動建表時,可以使用此功能。

    Data Integration附加欄位支援的變數欄位如下:

    EXECUTE_TIME:執行時間
    UPDATE_TIME:更新時間
    DB_NAME_SRC:未經處理資料庫名稱
    DB_NAME_SRC_TRANSED:轉換後資料庫名稱
    DATASOURCE_NAME_SRC:源端資料來源名稱
    DATASOURCE_NAME_DEST:目的端資料來源名稱
    DB_NAME_DEST:目的端資料庫名稱
    TABLE_NAME_DEST:目的端表名稱
    TABLE_NAME_SRC:源端表名稱

    編輯目標表結構

    單擊Hologres表名列的表名可編輯目標表結構,例如,為目標表添加PK和Distribution Key,修改欄位類型映射等。

    同步至Hologres可能存在欄位類型映射,即若目標端資料庫中沒有與源端一致的資料類型時,同步任務在建立目標表時,將自動根據源端欄位為目標端匹配可寫入的欄位類型。若您需要修改Hologres目標表欄位類型映射,您可使用此功能。

    說明

    僅在表建立方式自動建表時,可以使用此功能。

步驟五:設定表粒度同步規則

即當源表發生插入、更新、刪除時,您可以在此處定義對應的處理策略。

  • 正常處理:源端DML訊息將會繼續下發給目標資料來源,由目標資料來源來處理。

  • 忽略:直接丟棄該訊息,不再向目標資料來源發送對應的DML訊息,對應資料不會改變。

  • 有條件的正常處理:選擇後,您可以配置過濾條件,同步任務將按照您配置的過濾運算式對源端資料進行過濾,滿足過濾條件的資料會被正常處理,不滿足的會被忽略掉。

說明

若不設定,則預設為“正常處理”。

步驟六:DDL訊息處理規則

來來源資料源會包含許多DDL操作,Data Integration體提供預設處理策略,您也可以根據業務需求,對不同的DDL訊息設定同步至目標端的處理策略。不同DDL訊息處理策略請參見:DDL訊息處理規則

步驟七:設定任務運行資源

當前方案建立後將分別產生全量資料離線同步子任務和增量資料即時同步子任務。您需要在運行資源設定介面配置離線同步任務和即時同步任務的相關屬性。

包括即時增量同步處理及離線全量同步使用的獨享Data Integration資源群組、離線全量同步使用的調度資源群組,同時,單擊進階配置可配置是否容忍髒資料、任務最大並發數、源庫允許支援的最大串連數等參數。

說明
  • DataWorks的離線同步任務通過調度資源群組將其下發到Data Integration任務執行資源組上執行,所以離線同步任務除了涉及Data Integration任務執行資源組外,還會佔用調度資源群組資源。如果使用了獨享調度資源群組,將會產生調度執行個體費用。您可通過任務下發機制對該機制進行瞭解。

  • 離線和即時同步任務推薦使用不同的資源群組,以便任務分開執行。如果選擇同一個資源群組,任務混跑會帶來資源搶佔、運行態互相影響等問題。例如,CPU、記憶體、網路等互相影響,可能會導致離線任務變慢或即時任務延遲等問題,甚至在資源不足的極端情況下,可能會出現任務被OOM KILLER殺掉等問題。

步驟八:執行同步任務

  1. 進入Data Integration > 同步任務介面,找到已建立的同步方案。

  2. 單擊操作列的啟動/提交執行按鈕,啟動同步的運行。

  3. 單擊操作列的執行詳情,查看任務的詳細執行過程。

後續步驟

完成任務配置後,您可以對已建立的任務進行管理、執行加減表操作,或對任務配置監控警示,並查看任務啟動並執行關鍵計量等。詳情請參見:全增量同步處理任務營運