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

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

最終更新日:Jun 25, 2026

MaxCompute テーブルは、MaxCompute SQL ステートメントまたは DataWorks で提供されるビジュアルツールを使用して作成および管理できます。本トピックでは、SQL を使用する方法よりも便利な、ビジュアルツールを使用した方法に焦点を当てて説明します。

注意事項

  • テーブル操作の原則

    MaxCompute テーブルに対するすべての操作は、MaxCompute の基本要件に従う必要があります。たとえば、テーブル作成後にフィールドを削除することはできません。詳細については、「MaxCompute テーブル操作の使用制限」をご参照ください。

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

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

  • メタデータの更新遅延

    メタデータ操作には遅延が発生する場合があります。作成、更新、または削除したテーブルが期待どおりに表示されない場合 (たとえば、削除したテーブルがまだ表示されている場合) は、Data Map に移動し、テーブルメタデータをリフレッシュして手動で結果を同期してください。

前提条件

MaxCompute コンピューティングリソースがワークスペースにバインドされています。

DataStudio への移動

DataWorks コンソールにログインします。 ターゲットリージョンで、左側のナビゲーションウィンドウにあるデータ開発と О&М > データ開発をクリックします。 ドロップダウンリストからワークスペースを選択し、入力 データ開発をクリックします。

MaxCompute テーブルの作成

エントリポイント

DataWorks のテーブル管理ディレクトリでテーブルを作成するか、特定のビジネスプロセス用にテーブルを作成することができます。

  • テーブル管理から作成

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

  • ビジネスプロセスから作成

    DataWorks はビジネスプロセスを使用してコードを整理および管理し、それに関連するテーブルを作成できます。ビジネスプロセスがない場合は、まず作成してください。詳細については、「ビジネスプロセス」をご参照ください。ビジネスプロセスが存在する場合は、ビジネスプロセスを右クリックし、Create Table > MaxCompute > Table を選択します。

    重要

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

テーブルの基本情報の構成

テーブルを作成すると、テーブル編集ページが表示されます。このページでは、DataWorks はテーブル情報を構成するための DDL モードと GUI モードの 2 つの方法をサポートしています。

  • DDL モードを使用したテーブルの構成

    テーブル編集ページで、ddl アイコンをクリックし、標準の MaxCompute テーブル作成ステートメントを使用してテーブルスキーマを生成します。データ定義言語 (DDL) を使用してスキーマを生成すると、DataWorks はページ上の構成を自動的に入力します。タスクのコーディングに慣れている場合は、この方法を使用できます。

    重要
    • テーブル名は、テーブル編集ページに移動する前に定義されます。DDL ステートメントでテーブル名を変更することはできません。変更すると、エラーが報告されます。

    • DDL モードでは、コマンドを使用してテーブルの物理プロパティのみを定義できます。DDL ステートメントが実行され、ページが入力された後、テーブル編集ページでテーブルのビジネスプロパティを編集できます。

  • GUI を使用したテーブルの構成

    テーブル編集ページの指示に基づいてテーブルプロパティを構成します。便利なビジュアル操作を実行したい場合は、この方法を使用できます。次の例では、GUI モードでテーブル情報を構成する方法について説明します。

    1. 設定: General次の表で、主なパラメーターについて説明します。

      パラメーター

      説明

      Display Name

      テーブルの表示名です。

      Theme

      DataWorks では、テーマはフォルダのように機能し、テーブルの第 1 レベルと第 2 レベルの場所を定義します。ビジネス目的に基づいてテーブルを分類し、同じタイプのテーブルを同じフォルダに追加できます。

      説明

      第 1 レベルと第 2 レベルのテーマは、DataWorks のテーブル管理ページにフォルダとして表示され、テーブル管理を容易にします。[テーブル管理] ページでテーマ別に現在のテーブルをすばやく見つけることができます。利用可能なテーマがない場合は、作成できます。詳細については、「テーブルテーマの定義」をご参照ください。

    2. Physical Model次の表にパラメーターを示します。

      パラメーター

      説明

      Layer

      テーブルが属するデータウェアハウスレイヤーを指定します。レイヤーは、データウェアハウス構造の定義と管理に役立ちます。レイヤーは、オペレーショナルデータストア (ODS) 層、ディメンション (DIM) 層、データウェアハウス詳細 (DWD) 層、データウェアハウスサマリー (DWS) 層、およびアプリケーションデータサービス (ADS) 層に分けることができます。ビジネス目的に基づいて、テーブルを適切なレイヤーに追加できます。

      説明

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

      物理カテゴリ

      テーブルの物理カテゴリです。このパラメーターは、ビジネスの観点からテーブルをより詳細に分類するために使用されます。カテゴリには、基本ビジネスレイヤー、高度ビジネスレイヤー、その他が含まれます。

      説明

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

      Lifecycle

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

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

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

      Partition Type

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

      Table Type

      テーブルが内部テーブルか外部テーブルかを指定します。内部テーブルには MaxCompute が管理するデータが含まれており、通常はクエリが高速になります。外部テーブルは他の場所のデータを参照するため、データをインポートせずにクエリを実行でき、ストレージ容量を節約できます。MaxCompute の内部テーブルと外部テーブルの詳細については、「テーブル」をご参照ください。

    3. Schema[テーブルスキーマの設計] セクションには、フィールド定義とパーティション設定のエリアが含まれています。フィールド定義エリアには、[フィールドの追加][上に移動][下に移動] ボタンがあります。このエリアの列には、[フィールド名][表示名][長さ/設定][説明]、および [アクション] ([保存][キャンセル]) が含まれます。パーティション設定エリアでは、[パーティションの追加] をクリックしてパーティションキーを追加し、その [日付パーティション形式] (例:yyyymmdd) と [日付パーティションの粒度] を設定できます。次の表に、主なパラメーターを示します。

      パラメーター

      説明

      Field Type

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

      Field Security Level

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

      Primary Key

      ビジネスプライマリキーを指定します。MaxCompute テーブルはプライマリキーを強制しないことに注意してください。このパラメーターは、ビジネスレベルの管理とデータモデリングの目的でのみ使用されます。

テーブルのコミットと公開

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

説明

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

  • 基本モードで実行されるワークスペースでは、テーブルを本番環境にのみコミットする必要があります。

  • 標準モードで実行されるワークスペースでは、スペースマネージャー または O&M Personnel ロールが割り当てられたユーザーのみがテーブルを本番環境に公開できます。ユーザーがテーブルを本番環境に公開できるようにするには、必要な権限を付与する必要があります。権限の付与方法の詳細については、「ワークスペースメンバーの追加とロールおよび権限の管理」をご参照ください。

アクション

説明

Load from Development Environment

開発テーブルの情報を現在のページにロードします。

重要

この操作は、テーブルが開発環境にコミットされた後にのみ実行できます。この操作を実行すると、開発環境で作成されたテーブルの情報が現在のページのテーブル情報を上書きします。

Commit to Development Environment

テーブルを DataWorks の開発環境にコミットします。この操作により、開発環境のコンピューティングリソースに関連付けられている MaxCompute プロジェクトにテーブルが作成されます。テーブルがコミットされた後、次の操作を実行できます:

Load from Production Environment

本番環境から本番テーブルの情報を現在のページにロードします。

重要

この操作は、テーブルが本番環境にコミットされた後にのみ実行できます。この操作を実行すると、本番環境で作成されたテーブルの情報が現在のページのテーブル情報を上書きします。

Commit to Production Environment

テーブルを DataWorks の本番環境にコミットします。この操作により、本番環境に追加された MaxCompute コンピューティングリソースに対応する MaxCompute プロジェクトにテーブルが作成されます。テーブルがコミットされた後、次の操作を実行できます:

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

次のセクションで説明するように、MaxCompute テーブルにデータを書き込んだり、エクスポートしたりできます。

データの書き込み

データ統合タスクまたは MaxCompute ノードタスクを使用して、MaxCompute テーブルにデータを書き込むことができます。さらに、DataWorks では [データのアップロード] 機能を使用して、ローカルデータを MaxCompute テーブルにインポートできます。

データのエクスポート

DataStudio でデータをクエリした後、クエリ結果ページで Download をクリックして、データをローカルコンピューターにエクスポートできます。デフォルトでは、一度に最大 10,000 レコードをダウンロードできます。テナント管理者とテナントセキュリティ管理者は、セキュリティセンターの [データクエリと分析制御] ページに移動して、一度にダウンロードできるレコードの最大数を設定できます。

重要

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

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

ODPS SQL ノードまたは アドホッククエリ機能を使用して SQL ステートメントを実行し、MaxCompute テーブルのデータをクエリできます。

デフォルトの権限

基本モードのワークスペースには、詳細な権限制御と環境の隔離がありません。以下の例では、標準モードのワークスペースを想定しています。

RAM ユーザーがメンバーとしてワークスペースに追加されると、その RAM ユーザーには次のプリセットのデータアクセス権限が付与されます:

権限タイプ

説明

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

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

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

スケジューリングアクセス ID を持つ RAM ユーザーは、本番環境の MaxCompute プロジェクトに対して高レベルの権限を持ちます。他の RAM ユーザーは、デフォルトでは本番権限を持ちません。本番テーブルを操作するには、[セキュリティセンター] に移動して権限を申請する必要があります。

DataWorks はデフォルトの承認プロセスを提供し、管理者が承認プロセスをカスタマイズすることもできます。

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

データアクセス動作

MaxCompute はプロジェクト間のテーブルクエリをサポートしています。したがって、DataStudio ページでプロジェクト名を指定して、DataWorks ワークスペース内のプロジェクト間で本番データをクエリできます。次の表に、プロジェクト間のテーブルにアクセスする方法と、異なるページで実行に使用されるアカウントを示します。

説明
  • データ開発でコンピューティングリソースのバインド情報を表示して、異なる環境に追加された MaxCompute コンピューティングリソースと、それらの環境用に構成された実行アカウントを確認できます。詳細については、「コンピューティングリソースの管理」をご参照ください。

  • デフォルトでは、標準モードのワークスペースでは、開発環境のタスクはタスク実行者の個人 ID を使用して実行されます。本番環境では、タスクは指定された Alibaba Cloud アカウントであるスケジューリングアクセス ID を使用して実行されます。詳細については、「MaxCompute コンピューティングリソースのバインド」をご参照ください。

コード例

開発環境

本番環境

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

select col1 from projectname_dev.tablename;

タスク実行者は、個人の Alibaba Cloud アカウントを使用して開発テーブルにアクセスします。

  • RAM ユーザーがタスクを実行する場合、RAM ユーザーの個人の Alibaba Cloud アカウントが開発テーブルへのアクセスに使用されます。

  • Alibaba Cloud アカウントがタスクを実行する場合、その Alibaba Cloud アカウントが開発テーブルへのアクセスに使用されます。

スケジューリングアクセス ID が開発テーブルへのアクセスに使用されます。

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

select col1 from projectname.tablename;

タスク実行者は、個人の Alibaba Cloud アカウントを使用して本番テーブルにアクセスします。

説明

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

スケジューリングアクセス ID が本番テーブルへのアクセスに使用されます。

開発環境などの環境でステートメントを実行し、開発テーブルなどの対応する環境のテーブルにアクセスする:

select col1 from tablename;

ステートメントが開発環境で実行されると、タスク実行者の個人の Alibaba Cloud アカウントが開発エンジンの宛先テーブルへのアクセスに使用されます。

ステートメントが本番環境で実行されると、スケジューリングアクセス ID が本番エンジンの宛先テーブルへのアクセスに使用されます。

MaxCompute データ資産の表示

次のセクションで説明するように、MaxCompute データ資産を表示できます。

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

データ開発の [テナントテーブル] モジュールでは、ご利用の Alibaba Cloud アカウントに属する現在のリージョンのすべての本番テーブルを表示できます。

メタデータの表示

[データマップ] に移動して、MaxCompute テーブルの詳細とメタデータを表示できます。

テーブルリネージの表示

[データマップ] のテーブル詳細ページで、テーブルの上流および下流のリネージを表示できます。

説明

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

テーブルの一括管理

次のセクションで説明するように、MaxCompute テーブルを一括で管理できます。

テーブルの一括削除

DataMap の [マイデータ] に移動して、所有するテーブルを一括削除できます。

説明

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

テーブル所有者の一括変更

DataMap の [マイデータ] に移動して、所有するテーブルの所有者を一括で変更できます。

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

DataMap の [マイデータ] に移動して、所有するテーブルのライフサイクルを一括で変更できます。

説明

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