すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:DataHub を使用した MaxCompute へのログデータ移行

最終更新日:Jun 17, 2026

本記事では、DataHub を使用してログデータを MaxCompute に移行する方法について説明します。

前提条件

MaxCompute へのアクセスを許可されたアカウントには、以下の権限が必要です:

  • MaxCompute プロジェクトの CreateInstance 権限。

  • MaxCompute テーブルの表示、変更、更新権限。

権限付与の詳細については、「MaxCompute permissions」をご参照ください。

背景情報

DataHub は、Alibaba Cloud のストリーミングデータ (Streaming Data) 処理プラットフォームです。DataHub にアップロードされたデータはリアルタイムテーブルに保存された後、5 分以内に定時タスクによって MaxCompute のオフラインテーブルに同期され、オフラインコンピューティングに使用されます。

DataHub コネクタを作成し、関連設定を指定するだけで、DataHub のストリーミングデータを MaxCompute に定期的にアーカイブする同期タスクを作成できます。

データ型マッピング

MaxCompute

DataHub

BIGINT

BIGINT

STRING

STRING

BOOLEAN

BOOLEAN

DOUBLE

DOUBLE

DATETIME

TIMESTAMP

DECIMAL

DECIMAL

TINYINT

TINYINT

SMALLINT

SMALLINT

INT

INTEGER

FLOAT

FLOAT

BLOB

STRING

MAP

サポートされていません

ARRAY

サポートされていません

操作手順

  1. MaxCompute クライアント (odpscmd) で次のステートメントを実行して、DataHub から同期されたログデータを格納するためのテーブルを作成します。 以下にステートメントの例を示します。

     CREATE TABLE test(id bigint, name string, salenum bigint) partitioned by (ds string);
  2. DataHub でプロジェクトを作成します。

    1. DataHub コンソールにログインし、左上の隅でリージョンを選択します。

    2. 左側メニューで、[プロジェクト管理] をクリックします。

    3. [プロジェクト一覧] 領域で、右上の隅にある [新しいプロジェクト] をクリックします。

    4. [新しいプロジェクト] ページで、[名前] と [説明] を入力し、[作成] をクリックします。

  3. Topic を作成します。

    1. [プロジェクト一覧] 領域で、対象のプロジェクトの右側にある [表示] をクリックします。

    2. プロジェクトの詳細ページで、右上の隅にある [Topic の作成] をクリックします。

    3. [Topic の作成] ページで、[MaxCompute テーブル構造のインポート] を選択し、設定パラメーターを入力します。

      設定パラメーターには、[Project 名]、[Table 名]、[AccessKey ID]、[AccessKey Secret] が含まれます。 入力が完了したら、[次へ] をクリックします。

    4. [次のステップ] をクリックして、Topic 情報をさらに設定します。

      説明
      • スキーマ は MaxCompute テーブルに対応します。 DataHub Topic のスキーマのフィールド名、型、順序は、MaxCompute テーブルのフィールドと完全に一致している必要があります。いずれかの条件が満たされない場合、コネクタの作成は失敗します。

      • TUPLE 型の DataHub Topic を MaxCompute テーブルに同期できます。DataHub は BLOB 型のデータを STRING 型として扱います。

      • デフォルトでは、最大 20 個の Topic を作成できます。 それ以上作成する必要がある場合は、チケットをサブミットしてください。

      • DataHub Topic の所有者 (Owner) または作成者 (Creator) のアカウントには、作成や削除など、コネクタを操作する権限があります。

  4. 新しく作成した Topic にデータを書き込みます。

    1. 対象プロジェクトの [Topics] タブで、新しく作成した Topic の右側にある [表示] をクリックします。

    2. Topic の詳細ページで、右上の隅にある [同期] をクリックします。

    3. [Connector の作成] ページで [MaxCompute] をクリックし、関連パラメーターを設定し、[作成] をクリックします。

  5. Connector の詳細情報を表示します。

    1. 左側メニューで、[プロジェクト管理] をクリックします。

    2. [プロジェクト一覧] 領域で、対象のプロジェクトの右側にある [表示] をクリックします。

    3. [Topics] 領域で、対象の Topic の右側にある [表示] をクリックします。

    4. Topic の詳細ページで、[Connector] タブをクリックして、作成した Connector を表示します。

    5. Connector の右側にある [表示] をクリックして、Connector の詳細情報を確認します。

      DataHub は、デフォルトで 5 分ごと、またはデータが 60 MB に達したときに、MaxCompute のオフラインテーブルにデータを強制的に配信します。[同期オフセット] は、すでに同期されているデータレコードの数を示します。 Connector の詳細ページには、[Status] (EXECUTING など)、[Sync Latency] (同期レイテンシー、単位:秒)、[Endpoint]、[Project]、[Table]、[パーティションモード] などのフィールド情報が表示されます。

  6. 次のステートメントを実行して、ログデータが正常に配信されたかどうかを確認します。

    SELECT * FROM test;

    次のような結果が返された場合、配信は成功です。 クエリを実行すると、結果テーブルには idnamesalenum の 3 つの列が含まれます。 新しく挿入された 3 つのレコードは、id=60, name=三星11, salenum=909id=61, name=三星12, salenum=606id=62, name=三星13, salenum=2000 です。