完成數據源、網絡、資源的準備配置后,您可創建實時同步任務,將多種輸入及輸出數據源搭配組成同步鏈路,進行單表或整庫數據的實時增量同步。本文為您介紹如何創建單表或整庫增量數據實時同步任務,并在創建完成后查看任務運行情況。
前提條件
已完成數據源配置。您需要在數據集成同步任務配置前,配置好您需要同步的源端和目標端數據庫,以便在同步任務配置過程中,可通過選擇數據源名稱來控制同步任務的讀取和寫入數據庫。實時同步支持的數據源及其配置詳情請參見實時同步支持的數據源。
說明數據源相關能力介紹詳情請參見:數據源概述。
已購買合適規格的獨享數據集成資源組。詳情請參見:新增和使用獨享數據集成資源組。
獨享數據集成資源組與數據源網絡已打通。詳情請參見:網絡連通方案。
注意事項
DataWorks實時同步通常在以下情況下需要手動設置位點:
同步任務中斷后恢復:如果同步任務中斷,重啟任務時需要手動設置位點為中斷的時間點,以確保從斷點繼續同步。
數據丟失或異常:如果在同步過程中發現數據丟失或異常,需要手動重置位點到數據寫入之前的某個時間點,以確保數據完整。
調整任務配置:在調整任務配置后,例如修改目標表或字段映射,需要手動設置位點以確保數據同步的準確性。
如果您在執行同步任務時提示位點錯誤或不存在,請按如下方式解決:
重置位點:在啟動實時同步任務時,重置位點并選擇源庫可用的最早位點。
調整Binlog保留時間:如果數據庫位點過期,可以考慮在MySQL數據庫中調整Binlog的保留時間,例如設置為7天。
數據同步:如果數據已經丟失,可以考慮重新全量同步,或者配置一個離線同步任務來手動同步丟失的數據。
進入數據開發
實時同步任務配置入口在數據開發模塊,您需要前往數據開發進行創建。
進入數據開發頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據開發。
操作流程
步驟一:創建實時同步任務
創建業務流程。詳情請參見:創建業務流程。
創建實時同步任務。
你可以通過以下兩種方式創建實時同步任務。
方式一:展開業務流程,右鍵單擊
。方式二:雙擊業務流程名稱,將數據集成目錄下的實時同步節點直接拖拽至右側業務流程編輯面板。
在新建節點對話框中,配置各項參數。
參數
描述
節點類型
默認為實時同步。
同步方式
實時同步單表增量數據時,同步方式選擇單表(Topic)到單表(Topic)ETL,用于實時同步單個或多個表數據至目標單表。
說明單表實時同步僅支持同步數據至目標單表,如果您需要同步數據至多個表,您可以采用以下方案:
如果您需要對同步過程中的數據進行過濾、字符串替換或數據脫敏,您可以創建多個單表數據實時同步任務。
如果您需要同步多個表至多個表,除了可以創建多個單表實時同步任務,部分數據源還可以選擇配置整庫實時同步任務。
如果您需要先同步全量數據再將增量數據實時同步至目標端,您可選擇同步解決方案。詳情請參見:數據集成側同步任務配置。
實時同步整庫增量數據時,同步方式選擇數據庫變更數據同步(例如,數據庫變更數據同步到MaxCompute)。
路徑
存放實時同步任務的目錄。
名稱
節點名稱必須是大小寫字母、中文、數字、下劃線(_)以及英文句號(.),且不能超過128個字符。
步驟二:配置資源組
實時同步任務僅支持使用獨享數據集成資源組,您可以在實時同步任務編輯頁面的右側導航欄,單擊基本配置。在資源組下拉框選擇已經與數據庫網絡連通的獨享數據集成資源組。
建議實時同步任務與離線同步任務運行在不同的資源組上,避免混跑帶來資源互相搶占、運行態互相影響等問題,例如,CPU、內存、網絡等互相影響,導致離線同步任務突然變慢、實時同步任務延遲、以及在資源不足的極端情況下可能會出現任務被OOM Killer殺掉等問題。
步驟三:配置實時同步任務
配置單表實時同步任務
配置輸入數據源。
在實時同步任務編輯頁面左側的輸入區域,拖拽目標輸入數據源組件至右側面板。
單擊輸入組件,在右側的節點配置對話框配置相關信息。
目前,同步單表數據支持的輸入數據源類型及其配置如下:
可選:配置數據轉換方式。
在實時同步數據的過程中,如果您希望將輸入的數據轉換為需要使用的格式進行輸出,則可以配置數據轉換方式。
在實時同步任務編輯頁面左側的轉換區域,拖拽需要使用的數據轉換方式組件至右側面板。
目前,同步單表數據支持的轉換方式如下:
數據過濾:您可以對數據進行規則過濾,例如過濾字段的大小等,符合規則的數據才會被保留。
字符串替換:您可以對字符串類型的字段進行替換。
數據脫敏:您以對實時同步的單表數據進行脫敏,然后存儲到指定的數據庫位置。
單擊轉換組件,在右側的節點配置對話框配置相關信息。
配置輸出數據源。
在實時同步任務編輯頁面左側的輸出區域,拖拽目標輸出數據源組件至右側面板。
單擊輸出組件,在右側的節點配置對話框配置相關信息。
目前,同步單表數據支持的輸出數據源類型及其配置如下:
配置輸入、輸出組件的上下游關系。
添加完輸入、輸出組件后,您可以根據業務需求,通過連線完成相應的組件關系連接,數據會根據連線從上游組件同步至下游組件。
配置整庫實時同步任務
設置同步來源和規則。
在數據來源區域,選擇要同步的數據源類型和數據源名稱等信息。
選擇要同步的表。
在選擇同步的源表區域,為您展示所選數據源下所有的表,您可以在源端庫表區域選中需要同步的整庫全表或部分表,并單擊圖標,將其移動至已選庫表。
重要如果選中的表沒有主鍵,將無法進行實時同步。
設置表名的映射規則。
在此步驟中,您可以選擇源端數據源中需要同步的庫和表,同步解決方案默認將源端數據庫、數據表寫入目標端同名schema或同名表中,如果目標端不存在該schema或表,將會自動創建。同時,您可以通過設置表(庫)名的映射規則定義最終寫入目標端的schema或表名稱。實現將多張表數據寫入到同一個表中,或統一將源端某固定前綴的庫名或表名在寫入目標庫或表時更新為其他前綴。
源表名和目標表名轉換規則:源端表名支持通過正則表達式轉換為目標端最終寫入的表名。
示例1:將源端doc_前綴的表數據,寫入前綴為pre_的目標表中。
示例2:將多張表數據寫入到一張目標表。
將源端名稱為 "table_01","table_02","table_03" 的表同步至一張名為 "my_table" 的表中。配置正則表名轉換規則為:源:table.*,目標:my_table。
目標表名規則:支持您使用內置的變量組合生成目標表名,同時,對轉換后的目標表名支持添加前綴和后綴??墒褂玫膬戎米兞坑校?/p>
${db_table_name_src_transed}:“源表名和目標表名轉換規則”中的轉換完成之后的表名。
${db_name_src_transed}:“源庫名和目標Schema名轉換規則”中的轉換完成之后的目標Schema名。
${ds_name_src}:源數據源名。
示例:對上一步源表名和目標表名轉換規則轉換后的表名做進一步字符串拼接處理,使用${db_table_name_src_transed}代表上一步的處理結果“my_table”,再為該內置變量增加前綴和后綴,例如,pre_${db_table_name_src_transed}_post,最終就映射到了名為“pre_my_table_post”的目標表。
源庫名和目標Schema名轉換規則:源端schema名支持通過正則表達式轉換為目標端最終寫入的schema名。
示例:將源端doc_前綴的庫名替換為pre_前綴。
選擇目標數據源并配置目標表或topic。
在設置目標表或Topic頁面,配置目標數據源基本信息。例如,寫入模式、分區設置等。具體配置以各數據源實時同步界面為準。
單擊刷新源表和目標表映射,創建需要同步的源表和目標表的映射關系。
支持您自定義目標schema、自定義目標表名、通過編輯附加字段為目標表添加常量,變量等操作。具體配置以各數據源實時同步界面為準。
說明如果同步的表數量較多,會導致執行進度較慢,請耐心等待。
可選:設置表粒度同步規則。
部分同步方案支持自定義表級DML處理策略,即當源表發生插入、更新、刪除時,您可以在此處定義對應的處理策略。
說明不同數據源支持的DML操作可能存在差異,具體同步方案是否支持DML處理策略,請以產品界面為準。數據源當前的DML支持情況請參見支持的DML及DDL操作。
設置DDL消息處理規則。
來源數據源會包含許多DDL操作,進行實時同步時,您可以根據業務需求,對不同的DDL消息設置同步至目標端的處理策略。不同數據源支持的DDL操作可能存在差異,詳情請參見:支持的DML及DDL操作。您可以在 頁面,針對每個寫入的目標數據庫類型,設置DDL處理策略。不同DDL消息處理策略如下表所示。
DDL消息類型
處理策略
新建表
DataWorks收到對應類型的DDL消息時,處理策略如下:
正常處理:將相應消息繼續下發給目標數據源,由目標數據源來處理。因為不同目標數據源對DDL消息處理策略可能會不同,因此DataWorks只執行轉發操作。
忽略:直接丟棄該消息,不再向目標數據源發送。
告警:直接丟棄該消息,同時會在實時同步日志中記錄告警信息,指明該消息因執行出錯被丟棄。
出錯:實時同步任務直接顯示出錯狀態并終止運行。
刪除表
新增列
刪除列
重命名表
重命名列
修改列類型
清空表
運行資源設置。
提供任務并發數控制功能來限制數據集成讀取和寫入數據庫的最大并發數。
支持您控制同步任務是否容忍臟數據的產生。
當不允許臟數據產生時,則同步任務執行過程中如果產生臟數據,任務將失敗退出。
當允許臟數據時:同步任務將忽略臟數據(即不會寫入目標端),并正常執行。
單擊完成配置。
步驟四:提交并發布實時同步任務
單擊工具欄中的圖標,保存節點。
單擊工具欄中的圖標,提交節點任務。
在提交新版本對話框中,輸入變更描述。
單擊確定。
如果您使用的是標準模式的工作空間,任務提交成功后,需要將任務發布至生產環境進行發布。請單擊頂部菜單欄左側的任務發布。具體操作請參見發布任務。
后續步驟
任務配置完成后,您可以在實時同步任務運維。
面板啟動并管理該任務,詳情請參見:附錄:任務遷移
在DataStudio頁面已配置好的單表實時集成任務可以通過遷移至主站將該任務遷移至數據集成頁面。
目前僅支持的實時集成任務:
Kafka至MaxCompute單表實時集成任務。
Kafka至Hologres單表實時集成任務。
雙擊需要遷移的單表實時集成任務,進入任務編輯頁面,單擊遷移至主站即可對任務進行遷移。
單擊左上角選擇進入
,查看同步任務頁面,可在任務列表內查看遷移成功的單表實時集成任務。
遷移至主站在數據集成主站即可直接運維,無需跳轉運維中心,在運維中心中,此任務將不可見。遷移不影響已經保存的任務配置,和正在運行中的任務。
遷移后,原任務將會移至數據開發回收站,此后的編輯和運維動作都將只能在數據集成主站任務列表頁面進行操作。