本文以MaxCompute為例介紹如何將資料通過DataWorks同步至雲資料庫ClickHouse。
背景資訊
您可以通過DataWorks,將支援的各種資料來源資料離線同步至雲資料庫ClickHouse。離線同步支援的資料來源類型,具體請參見支援的資料來源與讀寫外掛程式。
前提條件
已建立工作空間,引擎服務選擇為MaxCompute。如何建立,請參見建立工作空間。
已建立並配置獨享Data Integration資源群組。如何建立和配置,請參見新增和使用獨享Data Integration資源群組。
已具備登入資料庫的操作許可權。具體資訊,請參見準備許可權。
如果RAM使用者使用DataWorks,需要阿里雲主帳號為RAM使用者配置合適的成員角色。如何配置,請參見為工作空間增加空間成員。
注意事項
雲資料庫ClickHouse僅支援獨享Data Integration資源群組。
如果您需要對已同步過的表再次同步,請先執行
TRUNCATE TABLE <表名>;語句,清空雲資料庫ClickHouse表中已同步的資料。
操作步驟
建立資料來源。
您需要為MaxCompute和雲資料庫ClickHouse分別建立資料來源。
說明如何建立資料來源,請參見建立MaxCompute資料來源和建立ClickHouse資料來源。
建立MaxCompute表。
登入DataWorks控制台。
在左側導覽列,單擊工作空間。
在頁面左上方,選擇工作空間所在地區。
在工作空間列表頁,在目標工作空間後的操作列,單擊。
在資料開發頁面,將滑鼠移至上方至
表徵圖,單擊。在建立表對話方塊中,選擇路徑,輸入名稱,本文以odptabletest1表名為例,單擊建立。
在基本屬性地區,配置各項參數。
單擊工具列中的DDL。
在DDL模式對話方塊中,輸入如下建表語句,單擊產生表結構。
CREATE TABLE IF NOT EXISTS odptabletest1 ( v1 TINYINT, v2 SMALLINT );分別單擊提交到開發環境和提交到生產環境。
寫入MaxCompute表資料。
在資料開發頁面,單擊左側導覽列的臨時查詢。
滑鼠移至上方至
表徵圖,單擊。在建立節點對話方塊中,選擇路徑,輸入名稱。
單擊確認。
在節點的編輯頁面,輸入如下語句,為MaxCompute表寫入資料。
insert into odptabletest1 values (1,"a"),(2,"b"),(3,"c"),(4,"d");單擊工具列中的
表徵圖。在MaxCompute計算成本估計視窗,單擊運行。
建立雲資料庫ClickHouse表。
在頁面左上方,選擇目的地組群所在的地區。
在叢集列表頁面,選擇目的地組群對應類型的執行個體列表,單擊目的地組群ID。
在叢集資訊頁面,請單擊右上方導覽列的登入資料庫。
在登入執行個體頁面,輸入資料庫帳號和密碼,單擊登入。
輸入建表語句並單擊執行(F8)。建表語句如下。
create table default.dataworktest ON CLUSTER default ( v1 Int, v2 String ) ENGINE = MergeTree ORDER BY v1;說明雲資料庫ClickHouse表的結構類型需與MaxCompute對應。
建立商務程序。
如果您已有商務程序,可以忽略該步驟。
在資料開發頁面,單擊左側導覽列的資料開發。
滑鼠移至上方至
表徵圖,選擇建立商務程序。在建立商務程序對話方塊,輸入業務名稱。
重要業務名稱必須由大小寫字母、中文、數字、底線(_)以及小數點(.)組成,且不能超過128個字元。
單擊建立。
建立離線同步節點。
展開商務程序,按右鍵Data Integration。
單擊。
在建立節點對話方塊中,輸入名稱,並選擇路徑。
重要節點名稱必須由大小寫字母、中文、數字、底線(_)以及小數點(.)組成,且不能超過128個字元。
單擊確認。
配置資料來源和資料去向。
配置資料來源:資料來源為DataWorks支援的任一資料來源,本文以MaxCompute為例。

參數含義如下。
參數
描述
資料來源
資料來源的類型和名稱。
生產專案名
預設不可以修改。
表
需要同步的表。
分區資訊
如果您每日增量資料限定在對應日期的分區中,可以使用分區進行每日增量。例如,配置分區v17的值為${bizdate}。
說明DataWorks不支援對MaxCompute分區表進列欄位映射,您需要單獨配置分區欄位。
說明參數配置的更多資訊,請參見MaxCompute Reader。
配置資料去向:資料來源的類型選擇為ClickHouse。

參數含義如下。
參數
描述
資料來源
資料來源的類型與名稱,其中,資料來源的類型需選擇ClickHouse。
表
需要同步的表。
主鍵或者唯一鍵衝突處理
固定選擇為insert into(插入)。
匯入前準備語句
執行資料同步任務之前率先執行的SQL語句。
匯入後完成語句
執行資料同步任務之後執行的SQL語句。
批量插入位元組大小
批量插入資料的最大位元組數。
批量條數
批量插入資料的條數。
(可選)欄位對應:您可以選擇欄位的映射關係,左側的源頭表欄位和右側的目標表欄位為一一對應關係。
說明參數說明,具體請參見欄位對應。
(可選)通道控制:配置作業速率上限和髒資料檢查規則。
說明參數說明,具體請參見通道控制。
配置Data Integration資源群組。
單擊右側的Data Integration資源群組配置,選擇已經建立好的獨享Data Integration資源群組。

儲存並運行資料同步任務。
單擊工具列中的
表徵圖,儲存資料同步任務。單擊工具列中的
表徵圖,運行資料同步任務。
驗證同步結果
在頁面左上方,選擇目的地組群所在的地區。
在叢集列表頁面,選擇目的地組群對應類型的執行個體列表,單擊目的地組群ID。
在叢集資訊頁面,單擊頁面右上方的登入資料庫。
在登入執行個體頁面,輸入資料庫帳號和密碼,單擊登入。
輸入查詢語句並單擊執行(F8),確認資料是否同步成功,查詢語句如下。
SELECT * FROM dataworktest;查詢結果如下。
說明當您執行查詢語句並成功返回結果時,說明資料已從DataWorks同步至雲資料庫ClickHouse。
