Flink CDC支援資料的即時同步和表結構變更的自動同步。您可以使用資料同步模板幫您快速產生資料同步的Flink SQL作業代碼。本文為您介紹如何使用多庫多表同步或者分庫分表合并模板實現資料同步。
背景資訊
Realtime ComputeFlink版支援多庫多表同步和分庫分表合并兩種資料同步方式,二者的區別請參見下表。
同步方式 | 詳情 |
多庫多表同步 | 如果您需要將一個或多個資料庫中的一張或多張業務資料表即時複製到另一個資料庫時,則可以使用多庫多表同步模板。Flink CDC可以自動同步整庫的全量和增量資料,同時還能即時將每張源表的表結構變更(加列等)即時同步到對應的目標表中。多庫多表同步模板會將您的參數翻譯成CDAS語句,有關CDAS語句的更多能力,詳情請參見CREATE DATABASE AS(CDAS)語句。 |
分庫分表合并 | 當同一份業務資料分散在不同的資料庫或者業務表時,我們往往需要用到分庫分表合并的能力,將表結構相似的分庫分表的資料同步到一張目標表中。Flink CDC可以自動同步源中所有分庫分表的全量和增量資料(包括新增的符合Regex的新表),同時還能即時將每張源表的表結構變更(加列等)即時同步到對應的目標表中。分庫分表合并同步模板會將您的參數翻譯成CTAS語句,有關CTAS語句的更多能力,詳情請參見CREATE TABLE AS(CTAS)語句。 |
使用限制
目前僅支援從MySQL到Hologres的資料同步。
注意事項
在同步MySQL到Hologres的資料時,會同步表結構變更,詳情請參見CREATE TABLE AS(CTAS)語句。同步時需要注意以下幾點:
無需您手動在Hologres上建立表。
Flink會自動在Hologres上建立表,但如果Hologres已經存在對應的表,Flink會根據您建立計劃中選擇的目標庫和表資訊來映射。
Hologres不支援更改列的類型。
如果當前欄位的類型和Hologres下遊表中對應的欄位類型不同,則會寫入失敗,您需重修改列類型並重新同步。
關於Hologres結果表詳情請參見即時數倉Hologres結果表。
操作步驟
單擊對應工作空間操作列下的控制台。
在 頁面,單擊建立。
在新增作業草稿頁面,單擊資料同步模板。
雙擊MySQL到Hologres資料同步模板名稱,或者單擊選中模板後,在右下角單擊下一步。
配置資料同步資訊。
選擇源和目標後,單擊下一步。
類別
配置項
詳情
源
MySQL Catalog
您可以直接選擇已建立好的MySQL Catalog。如果您沒有提前建立好源MySQL Catalog,則請單擊建立Catalog進行建立。建立詳情請參見管理MySQL Catalog。
MySQL server-id
每個MySQL資料庫用戶端的唯一ID。取值範圍為5400~6400。該參數也支援ID範圍的格式,例如5400-5408。推薦在開啟增量讀模數式多並發讀取資料時,設定該參數為ID範圍,因為這樣可以使得每個並發使用不同的ID。
重要不要和其他訪問資料庫的作業或者服務使用同一個Server ID。
目標
Hologres Catalog
您可以直接選擇已建立好的目標Hologres Catalog。如果您沒有提前建立好目標Hologres Catalog,則請單擊建立Catalog進行建立。詳情請參見管理Hologres Catalog。
建立計劃。
多庫多表同步
在多庫多表同步頁簽下,選中目標的源庫和表名稱。
單擊儲存計劃,查看計劃列表。
說明在進行多庫多表資料同步時,該模板會在目標Catalog中建立與源Catalog同名的資料庫和表,且預設同步到Public Schema下。如果您需要修改資料庫名稱、表名稱以及指定Schema,建議通過編寫SQL的方式進行修改。修改名稱詳情請參見CREATE TABLE AS(CTAS)語句和CREATE DATABASE AS(CDAS)語句,指定Schema詳情請參見作為CDAS的目標端Catalog,指定後使用Catalog時的表名格式也會發生變化,詳情請參見管理Hologres Catalog。
單擊下一步。
查看系統根據您選擇的目標庫和表產生對應的SQL代碼。
您可以根據需要修改檔案名稱、儲存位置或引擎版本等資訊。
分庫分表合并
在分庫分表合并頁簽下,選中目標的源庫和表名稱,或者直接輸入您建立的目標庫和表名稱。
說明推薦您使用Regex填寫源庫和源表資訊。
單擊儲存計劃,查看計劃列表。
在一個作業中,可以同時建立多個多庫多表同步和分庫分表合并的計劃,樣本如下圖所示。
單擊下一步。
查看系統根據您選擇的目標庫和表產生對應的SQL代碼。
您可以根據需要修改檔案名稱、儲存位置或引擎版本等資訊。
單擊建立。