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

MaxCompute:MaxCompute テーブルの作成と使用

最終更新日:Aug 20, 2026

DataWorks では、MaxCompute SQL 文またはビジュアルインターフェイスを使用して MaxCompute テーブルを作成および管理できます。ビジュアルインターフェイスの方が便利です。このトピックでは、ビジュアルインターフェイスを使用してテーブルを作成および管理する方法について説明します。

注意事項

  • テーブル操作の原則

    MaxCompute テーブルを管理する際は、MaxCompute の基本的な操作要件に従ってください。たとえば、テーブルの作成後にフィールドを削除することはできません。詳細については、「テーブル操作の利用制限」をご参照ください。

  • 物理テーブルプロパティの変更

    MaxCompute SQL コマンドを実行することで、MaxCompute テーブルの物理プロパティを変更できます。詳細については、「テーブル操作」をご参照ください。DataWorks の権限制御により、RAM ユーザーがテーブル操作コマンドを実行するとエラーが発生することがあります。詳細については、「MaxCompute のデータ権限制御の詳細」をご参照ください。

  • メタデータ更新のレイテンシー

    メタデータ操作には遅延が発生する可能性があります。テーブルの作成または更新後にテーブルが見つからない場合、またはテーブルの削除後もテーブルが表示される場合は、[Data Map] で テーブルのメタデータを更新 して、変更を手動で同期できます。

前提条件

MaxCompute コンピューティングエンジンがバインドされていること。

DataStudio への移動

DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。

MaxCompute テーブルの作成

テーブルの作成方法

テーブルは、テーブル管理ページまたは特定のワークフロー内で作成できます。

  • テーブル管理からの作成

    DataStudio の左側メニューで、テーブル管理 を選択し、新建 アイコンをクリックしてテーブルを作成します。ナビゲーションペインにテーブル管理モジュールが表示されない場合は、「DataStudio のモジュール表示のカスタマイズ」を参照して追加してください。

  • ワークフロー内での作成

    DataWorks は、ワークフローを使用してコードを整理および管理します。ビジネスに関連するテーブルをワークフロー内に作成できます。ワークフローがない場合は、まず ワークフローを作成 してください。ワークフローがある場合は、それを右クリックし、[Create Table] > [MaxCompute] > [Table] を選択します。

    重要

    ボタンが見つからない場合は、MaxCompute コンピューティングエンジンがワークスペースにバインドされているかどうかを確認してください。

テーブルの基本情報の設定

テーブルを作成すると、テーブルエディタータブが開きます。このタブでは、DDL モードまたは ビジュアルインターフェイスのいずれかを使用してテーブル情報を設定できます。

  • DDL モードでのテーブル設定

    テーブルエディタータブの ddl アイコンをクリックし、標準の MaxCompute テーブル作成文 を使用して MaxCompute テーブルスキーマを生成します。DDL 文を使用してスキーマを生成すると、DataWorks はエディタータブの設定フィールドに自動的に入力します。この方法は、コードを記述することを好むユーザーに最適です。

    重要
    • テーブル名はエディタータブを開く前に定義されます。DDL 文でテーブル名を変更することはできません。変更するとエラーが発生します。

    • DDL モードでは、テーブルの物理プロパティのみを定義できます。ビジネスプロパティは、DDL 文によって UI に情報が入力された後、テーブルエディタータブで編集できます。

  • ビジュアルインターフェイスを使用したテーブル設定

    テーブルエディタータブのガイドに従って、テーブルプロパティを設定できます。この方法は、ビジュアルインターフェイスを好む場合に便利です。次の例は、ビジュアルインターフェイスを使用してテーブルを設定する方法を示しています。

    1. [General] プロパティを設定します。主なパラメーターは以下のとおりです。

      パラメーター

      説明

      [Display name]

      テーブルの表示名。

      [Theme]

      DataWorks では、テーマはフォルダーのように機能し、ビジネス目的別にテーブルを分類できます。レベル 1 とレベル 2 のテーマを定義して、テーブルを整理できます。

      説明

      これらのテーマは、テーブル管理 ページでテーブルを整理したり見つけたりするのに役立ちます。適切なテーマがない場合は、作成できます。詳細については、「テーブルテーマの定義」をご参照ください。

    2. [Physical Model] を設計します。パラメーターは以下のとおりです。

      パラメーター

      説明

      [Level]

      テーブルのデータウェアハウス階層。レベルはデータウェアハウス階層を定義し、通常、オペレーショナルデータストア (ODS)、ディメンション (DIM)、データウェアハウス詳細 (DWD)、データウェアハウスサマリー (DWS)、およびアプリケーションデータサービス (ADS) に分かれています。ビジネス目的に基づいて、テーブルを適切なレベルに割り当てることができます。

      説明

      レベルをカスタマイズすることもできます。詳細については、「レベル管理」をご参照ください。

      [Category]

      テーブルの物理的なカテゴリを定義します。これは、ビジネスの観点からより詳細な分類を提供します。一般的なカテゴリには、Basic Business、Advanced Business、Other があります。

      説明

      物理カテゴリをカスタマイズすることもできます。詳細については、「カテゴリ管理」をご参照ください。

      [Lifecycle]

      テーブルのライフサイクル。

      • MaxCompute テーブルのライフサイクルの詳細については、「ライフサイクル」をご参照ください。

      • MaxCompute テーブルのライフサイクル操作については、「ライフサイクル操作」をご参照ください。

      [Partition type]

      テーブルがパーティションテーブルか非パーティションテーブルかを指定します。MaxCompute のパーティションテーブルと非パーティションテーブルの詳細については、「パーティション」をご参照ください。

      [Table type]

      テーブルが内部テーブルか外部テーブルかを指定します。内部テーブルは MaxCompute 内で独自のデータを管理するため、クエリが高速になることがよくあります。外部テーブルは MaxCompute の外部に保存されているデータを参照するため、ストレージ容量を節約できます。MaxCompute の内部テーブルと外部テーブルの詳細については、「テーブル」をご参照ください。

    3. [Schema] を設計します。スキーマ設計ページは、フィールド定義とパーティション定義の 2 つのセクションに分かれています。フィールド定義セクションの上部には、[Add Field]、[Move Up]、[Move Down] ボタンがあります。[+ Add Field] リンクをクリックしてフィールドを追加できます。パーティション定義セクションには、[Date Partition Format] (例:yyyymmdd) や [Date Partition Granularity] などの追加パラメーターが含まれています。主なパラメーターは以下のとおりです。

      パラメーター

      説明

      [Data type]

      フィールドのデータ型。ドロップダウンリストからは、MaxCompute がサポートするデータ型のみを選択できます。MaxCompute のデータ型の詳細については、「データ型のエディション」をご参照ください。

      [Field security level]

      フィールドのセキュリティレベル。このパラメーターは、MaxCompute プロジェクトでラベルベースのアクセス制御が有効になっている場合にのみ表示されます。MaxCompute のフィールドセキュリティレベルの詳細については、「ラベルベースのアクセス制御」をご参照ください。

      [Primary key]

      テーブルのビジネスプライマリキー。MaxCompute はプライマリキーを強制しません。この設定はビジネス管理目的のみです。

MaxCompute テーブルのコミットとデプロイ

テーブルスキーマを定義した後、開発環境と本番環境にコミットする必要があります。

説明

MaxCompute テーブルのコミットとデプロイのプロセスは、ワークスペースモード によって異なります:

  • 基本モード:テーブルを本番環境にコミットするだけで済みます。

  • 標準モード:[Workspace Administrator] または [O&M] ロールを持つユーザーのみが、テーブルを本番環境にデプロイできます。権限の付与方法の詳細については、「ワークスペースメンバーの追加とロールおよび権限の管理」をご参照ください。

アクション

説明

[Load from development environment]

開発環境からテーブル定義をロードし、現在のエディターに入力します。

重要

この操作は、テーブルが開発環境にコミットされた後にのみ使用できます。このアクションは、現在の設定をコミットされた定義で上書きします。

[Commit to development environment]

現在のテーブル設定を DataWorks 開発環境にコミットし、関連する MaxCompute プロジェクトにテーブルを作成します。コミットが成功すると、次のことができます:

[Load from production environment]

本番環境からテーブル定義をロードし、現在のエディターに入力します。

重要

この操作は、テーブルが本番環境にコミットされた後にのみ使用できます。このアクションは、現在の設定をコミットされた定義で上書きします。

[Commit to production environment]

現在のテーブル設定を DataWorks 本番環境にコミットし、関連する MaxCompute プロジェクトにテーブルを作成します。コミットが成功すると、次のことができます:

MaxCompute テーブルへの書き込みとエクスポート

このセクションでは、MaxCompute テーブルへのデータの書き込みと、テーブルからのデータのエクスポート方法について説明します。

MaxCompute テーブルへのデータ書き込み

データ同期タスク または MaxCompute ノード を使用して、MaxCompute テーブルにデータを書き込むことができます。DataWorks は、MaxCompute テーブルへの ローカルデータのアップロード もサポートしています。

MaxCompute テーブルからのデータエクスポート

DataStudio でデータをクエリした後、結果パネルの [Download] ボタンをクリックして、データをローカルファイルにエクスポートできます。デフォルトでは、一度に最大 10,000 レコードをダウンロードできます。テナント管理者は、Security Center の データクエリおよび分析制御 ページでこの制限を変更できます。

重要

10,000 レコード以上をエクスポートするには、MaxCompute クライアントを使用し、Tunnel コマンド を実行します。

MaxCompute テーブル内のデータのクエリ

ODPS SQL ノード または アドホッククエリ 機能を使用して、SQL 文 を実行することで MaxCompute テーブル内のデータをクエリできます。

デフォルトの権限

基本モード のワークスペースは、詳細な権限制御や開発環境と本番環境の分離をサポートしていません。以下の例は、標準モード のワークスペースを想定しています。

RAM ユーザーがワークスペースのメンバーとして追加されると、デフォルトで次のデータアクセス権限が付与されます。

権限タイプ

説明

MaxCompute 開発プロジェクトの権限

DataWorks は、ワークスペースレベルのロールを MaxCompute エンジンのロールにマッピングします。ワークスペースロールを持つ RAM ユーザーは、開発エンジンの対応する権限を自動的に受け取ります。デフォルトでは、開発環境のプロジェクトに対する権限は持ちますが、本番環境のプロジェクトに対する権限は持ちません。

MaxCompute 本番プロジェクトの権限

デフォルトでは、スケジューリングアクセス ID のみが本番プロジェクトに対する権限を持ちます。他の RAM ユーザーは、本番テーブルを操作するために Security Center で権限を申請する必要があります。DataWorks は、デフォルトの承認ワークフローを提供し、管理者がそれをカスタマイズすることもできます。

MaxCompute のデータアクセス制御の詳細については、「MaxCompute のデータ権限制御の詳細」をご参照ください。

データアクセス時の動作

DataStudio では、テーブル名の前にプロジェクト名を付けることで、他のプロジェクトのデータをクエリできます。次の表では、クロスプロジェクトアクセスの方法と、さまざまな環境で使用されるアカウントについて説明します。

説明
  • 各環境に設定されている MaxCompute コンピューティングエンジンと実行アカウントを表示するには、DataStudio のコンピューティングリソースのバインドをご参照ください。詳細については、「コンピューティングエンジンの管理」をご参照ください。

  • 標準モードの DataWorks ワークスペースでは、開発環境はデフォルトで [task executor] の個人 ID を使用します。本番スケジューリング環境では、スケジューリングアクセス ID と呼ばれる特定のクラウドアカウントが使用されます。詳細については、「MaxCompute コンピューティングエンジンのバインド」をご参照ください。

サンプルコード

開発環境での実行

本番環境での実行

開発プロジェクト内の開発テーブルにアクセスする:

select col1 from projectname_dev.tablename;

クエリは、タスク実行者の個人の Alibaba Cloud アカウントを使用して実行されます。

  • RAM ユーザーがタスクを実行する場合、その個人の Alibaba Cloud アカウントが使用されます。

  • Alibaba Cloud アカウントがタスクを実行する場合、そのアカウントが使用されます。

クエリは、スケジューリングアクセス ID を使用して実行されます。

本番プロジェクト内の本番テーブルにアクセスする:

select col1 from projectname.tablename;

クエリは、タスク実行者の個人の Alibaba Cloud アカウントを使用して実行されます。

説明

本番データのセキュリティ制御のため、個人の Alibaba Cloud アカウントは、デフォルトでは本番テーブルへのアクセス権を持っていません。Security Center で権限を申請する必要があります。DataWorks は、デフォルトの承認ワークフローを提供し、管理者がそれをカスタマイズすることもできます。

クエリは、スケジューリングアクセス ID を使用して実行されます。

対象環境 (例:開発環境) でステートメントを実行し、同じ環境内のテーブルにアクセスする:

select col1 from tablename;

開発環境で実行すると、クエリはタスク実行者の個人の Alibaba Cloud アカウントを使用して、開発エンジン内の対象テーブルにアクセスします。

本番環境で実行すると、クエリはスケジューリングアクセス ID を使用して、本番エンジン内の対象テーブルにアクセスします。

MaxCompute データ資産の表示

MaxCompute のデータ資産は、次の方法で表示できます。

テナント内の本番テーブルの表示

DataStudio の テナントテーブル モジュールには、現在のリージョンにある、お使いの Alibaba Cloud アカウントに属するすべての本番テーブルが一覧表示されます。

メタデータの表示

Data Map に移動して、MaxCompute テーブルの詳細とメタデータを表示します。

テーブルリネージの表示

Data Map のテーブル詳細ページで、テーブルの上流および下流のリネージを表示できます。

説明

このテーブルを操作するワークスペース内のタスクを特定するには、コード検索 機能を使用できます。

MaxCompute テーブルの一括管理

複数の MaxCompute テーブルを一度に管理するには、次の方法があります。

MaxCompute テーブルの一括削除

Data Map の マイデータ に移動して、所有する複数のテーブルを削除します。

説明

本番データのセキュリティ制御のため、コマンドを使用して本番テーブルを直接削除することはできません。所有していないテーブルを削除するには、Security Center でテーブル権限を申請する必要があります。

テーブル所有権の一括移管

Data Map の マイデータ に移動して、所有する複数のテーブルの所有権を移管します。

テーブルライフサイクルの一括変更

Data Map の マイデータ に移動して、所有する複数のテーブルのライフサイクルを変更します。

説明

単一のテーブルのライフサイクルは、テーブル管理で変更できます。詳細については、「MaxCompute テーブルの作成」をご参照ください。