全部產品
Search
文件中心

MaxCompute:通過DataHub遷移日誌資料至MaxCompute

更新時間:Jun 19, 2024

本文為您介紹如何通過DataHub遷移日誌資料至MaxCompute。

前提條件

授權訪問MaxCompute的帳號已開通以下許可權:

  • MaxCompute中專案的CreateInstance許可權。

  • MaxCompute中表的查看、修改和更新許可權。

授權操作詳情請參見MaxCompute許可權

背景資訊

DataHub是阿里雲流式資料(Streaming Data)的處理平台。資料上傳至DataHub後儲存在即時表裡,後續會在5分鐘內通過定時任務的形式同步到MaxCompute離線表裡,供離線計算使用。

您只需要建立DataHub Connector,指定相關配置,即可建立將DataHub中流式資料定期歸檔到MaxCompute的同步任務。

資料類型映射關係

MaxCompute

DataHub

BIGINT

BIGINT

STRING

STRING

BOOLEAN

BOOLEAN

DOUBLE

DOUBLE

DATETIME

TIMESTAMP

DECIMAL

DECIMAL

TINYINT

TINIINT

SMALLINT

SMALLINT

INT

INTEGER

FLOAT

FLOAT

BLOB

STRING

MAP

不支援

ARRAY

不支援

操作步驟

  1. 在MaxCompute用戶端(odpscmd)執行如下語句建立表,用於儲存DataHub同步的日誌資料。樣本語句如下。

     CREATE TABLE test(f1 string, f2 string, f3 double) partitioned by (ds string);
  2. 在DataHub上建立專案。

    1. 登入DataHub控制台,在左上方選擇地區。

    2. 在左側導覽列,單擊專案管理

    3. 專案列表地區,單擊右上方建立專案

    4. 建立專案頁面,填寫名稱描述,單擊建立

  3. 建立Topic。

    1. 專案列表地區,單擊專案右側的查看

    2. 在專案詳情頁面,單擊右上方建立Topic

    3. 進入建立Topic頁面,選擇匯入MaxCompute表結構並填寫配置參數。

      建立Topic

    4. 單擊下一步,進一步完善Topic資訊。

      說明
      • Schema與MaxCompute表為對應關係,DataHub Topic Schema的欄位名稱、類型和順序必須與MaxCompute表欄位完全一致,如果三個條件中的任意一個不滿足,則Connector建立失敗。

      • 支援將TUPLEBLOB類型的DataHub Topic同步到MaxCompute表中。

      • 系統預設最多可以建立20個Topic。如果需要建立更多,請提交工單申請。

      • DataHub Topic的Owner或Creator帳號有操作Connector的許可權,包括建立和刪除等。

  4. 向建立的Topic中寫入資料。

    1. 在目標專案的Topic列表頁簽,單擊建立Topic右側的查看

    2. 在Topic詳情頁面,單擊右上方同步

    3. 建立Connector頁面,單擊MaxCompute,配置相關參數後,單擊建立

  5. 查看Connector詳細資料。

    1. 在左側導覽列,單擊專案管理

    2. 專案列表地區,單擊專案右側的查看

    3. Topic列表地區,單擊Topic右側的查看

    4. 在Topic詳情頁面,單擊Connector頁簽,查看建立好的Connector。

    5. 單擊Connector右側的查看,即可查看Connector詳細資料。

      DataHub預設每五分鐘或當資料達到60 MB時強行向MaxCompute離線表中投遞一次資料。同步點位代表已經同步資料的條數。DataConnector詳情

  6. 執行如下語句測試日誌資料是否投遞成功。

    SELECT * FROM test;

    返回結果如下,表示投遞成功。測試結果