全部產品
Search
文件中心

ApsaraDB for ClickHouse:使用DataWorks同步資料

更新時間:Nov 14, 2024

本文以MaxCompute為例介紹如何將資料通過DataWorks同步至雲資料庫ClickHouse

背景資訊

您可以通過DataWorks,將支援的各種資料來源資料離線同步至雲資料庫ClickHouse。離線同步支援的資料來源類型,具體請參見支援的資料來源與讀寫外掛程式

前提條件

注意事項

  • 雲資料庫ClickHouse僅支援獨享Data Integration資源群組。

  • 如果您需要對已同步過的表再次同步,請先執行TRUNCATE TABLE <表名>;語句,清空雲資料庫ClickHouse表中已同步的資料。

操作步驟

  1. 建立資料來源。

    您需要為MaxCompute和雲資料庫ClickHouse分別建立資料來源。

    說明

    如何建立資料來源,請參見建立MaxCompute資料來源建立ClickHouse資料來源

  2. 建立MaxCompute表。

    1. 登入DataWorks控制台

    2. 在左側導覽列,單擊工作空間

    3. 在頁面左上方,選擇工作空間所在地區

    4. 工作空間列表頁,在目標工作空間後的操作列,單擊快速進入 > 資料開發

    5. 資料開發頁面,將滑鼠移至上方至建立表徵圖,單擊建立表 > MaxCompute >

    6. 建立表對話方塊中,選擇路徑,輸入名稱,本文以odptabletest1表名為例,單擊建立

    7. 基本屬性地區,配置各項參數。

      基本屬性

      參數含義如下。

      配置項

      說明

      中文名

      定義表的中文名稱。

      主題

      DataWorks的主題相當於檔案夾。定義表所屬的一級檔案夾與二級檔案夾。您可基於業務用途對錶進行歸類,將同類表掛載至相同檔案夾中。

      說明

      一級主題、二級主題僅為DataWorks上表管理檔案夾的呈現形式,旨在方便您更好地管理表。 後續在表管理頁面可通過主題快速尋找當前表,如果沒有可用的主題,可參考定義表主題建立。

    8. 單擊工具列中的DDL

    9. DDL模式對話方塊中,輸入如下建表語句,單擊產生表結構

      CREATE TABLE IF NOT EXISTS odptabletest1
      (    
      v1  TINYINT,    
      v2  SMALLINT                
      );
    10. 分別單擊提交到開發環境提交到生產環境

  3. 寫入MaxCompute表資料。

    1. 資料開發頁面,單擊左側導覽列的臨時查詢

    2. 滑鼠移至上方至建立表徵圖,單擊建立 > ODPS SQL

    3. 建立節點對話方塊中,選擇路徑,輸入名稱

    4. 單擊確認

    5. 在節點的編輯頁面,輸入如下語句,為MaxCompute表寫入資料。

      insert into odptabletest1 values (1,"a"),(2,"b"),(3,"c"),(4,"d");
    6. 單擊工具列中的執行表徵圖。

    7. MaxCompute計算成本估計視窗,單擊運行

  4. 建立雲資料庫ClickHouse表。

    1. 登入雲資料庫ClickHouse控制台

    2. 在頁面左上方,選擇目的地組群所在的地區。

    3. 叢集列表頁面,選擇目的地組群對應類型的執行個體列表,單擊目的地組群ID。

    4. 叢集資訊頁面,請單擊右上方導覽列的登入資料庫

    5. 登入執行個體頁面,輸入資料庫帳號和密碼,單擊登入

    6. 輸入建表語句並單擊執行(F8)。建表語句如下。

      create table default.dataworktest ON CLUSTER default (
      v1 Int, 
      v2 String
      ) ENGINE = MergeTree ORDER BY v1;
      說明

      雲資料庫ClickHouse表的結構類型需與MaxCompute對應。

  5. 建立商務程序。

    如果您已有商務程序,可以忽略該步驟。

    1. 資料開發頁面,單擊左側導覽列的資料開發

    2. 滑鼠移至上方至建立表徵圖,選擇建立商務程序

    3. 建立商務程序對話方塊,輸入業務名稱

      重要

      業務名稱必須由大小寫字母、中文、數字、底線(_)以及小數點(.)組成,且不能超過128個字元。

    4. 單擊建立

  6. 建立離線同步節點。

    1. 展開商務程序,按右鍵Data Integration

    2. 單擊建立節點 > 離線同步

    3. 建立節點對話方塊中,輸入名稱,並選擇路徑

      重要

      節點名稱必須由大小寫字母、中文、數字、底線(_)以及小數點(.)組成,且不能超過128個字元。

    4. 單擊確認

  7. 配置資料來源和資料去向。

    1. 配置資料來源:資料來源為DataWorks支援的任一資料來源,本文以MaxCompute為例。

      選擇資料來源

      參數含義如下。

      參數

      描述

      資料來源

      資料來源的類型和名稱。

      生產專案名

      預設不可以修改。

      需要同步的表。

      分區資訊

      如果您每日增量資料限定在對應日期的分區中,可以使用分區進行每日增量。例如,配置分區v17的值為${bizdate}

      說明

      DataWorks不支援對MaxCompute分區表進列欄位映射,您需要單獨配置分區欄位。

      說明

      參數配置的更多資訊,請參見MaxCompute Reader

    2. 配置資料去向:資料來源的類型選擇為ClickHouse

      選擇資料來源

      參數含義如下。

      參數

      描述

      資料來源

      資料來源的類型與名稱,其中,資料來源的類型需選擇ClickHouse。

      需要同步的表。

      主鍵或者唯一鍵衝突處理

      固定選擇為insert into(插入)

      匯入前準備語句

      執行資料同步任務之前率先執行的SQL語句。

      匯入後完成語句

      執行資料同步任務之後執行的SQL語句。

      批量插入位元組大小

      批量插入資料的最大位元組數。

      批量條數

      批量插入資料的條數。

    3. (可選)欄位對應:您可以選擇欄位的映射關係,左側的源頭表欄位和右側的目標表欄位為一一對應關係。

      欄位對應

      說明

      參數說明,具體請參見欄位對應

    4. (可選)通道控制:配置作業速率上限和髒資料檢查規則。

      通道控制

      說明

      參數說明,具體請參見通道控制

  8. 配置Data Integration資源群組。

    單擊右側的Data Integration資源群組配置,選擇已經建立好的獨享Data Integration資源群組整合資源群組配置

  9. 儲存並運行資料同步任務。

    1. 單擊工具列中的儲存表徵圖,儲存資料同步任務。

    2. 單擊工具列中的運行表徵圖,運行資料同步任務。p353650.png

驗證同步結果

  1. 登入雲資料庫ClickHouse控制台

  2. 在頁面左上方,選擇目的地組群所在的地區。

  3. 叢集列表頁面,選擇目的地組群對應類型的執行個體列表,單擊目的地組群ID。

  4. 叢集資訊頁面,單擊頁面右上方的登入資料庫

  5. 登入執行個體頁面,輸入資料庫帳號和密碼,單擊登入

  6. 輸入查詢語句並單擊執行(F8),確認資料是否同步成功,查詢語句如下。

    SELECT * FROM dataworktest;

    查詢結果如下。查詢結果

    說明

    當您執行查詢語句並成功返回結果時,說明資料已從DataWorks同步至雲資料庫ClickHouse