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

MaxCompute:MaxCompute の制限事項

最終更新日:Jul 25, 2026

このトピックでは、MaxCompute の使用に関する制限事項について説明します。

MaxCompute を使用する前に、ビジネスを円滑に進めるために、その使用制限をよく理解してください。制限事項は次のとおりです。

サブスクリプションコンピューティングリソースのクォータ

MaxCompute サブスクリプションコンピューティングリソースのデフォルト購入クォータは 2,000 CU です。

2,000 CU を超えて購入するには、Alibaba Cloud アカウント (root ユーザー) を使用してでチケットを送信してください。3 営業日以内に申請を審査し、結果をショートメッセージで通知します。

従量課金 Standard Edition のリソース制限

MaxCompute は、単一のユーザーがリージョンごとに使用できる従量課金 Standard Edition のコンピューティングリソース (CU) を制限します。この制限は、単一のユーザーがクラスターリソースを独占し、他のユーザーがジョブを送信できなくなるのを防ぐためのものです。

国またはエリア

リージョン

CU 制限

中国のリージョン

中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、中国 (上海) 金融、中国 (北京) 政府、中国 (深セン) 金融

2,000

中国 (成都)、中国 (香港)

500

その他の国またはエリア

シンガポール (シンガポール)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、日本 (東京)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、イギリス (ロンドン)、UAE (ドバイ)

500

重要

これらの CU 制限は最大値であり、保証されるものではありません。MaxCompute はクエリを高速化するためにこれらの制限を超える場合があります。

サブスクリプション Tunnel サービススロットの購入制限

MaxCompute のサブスクリプション Tunnel サービススロットのデフォルト購入制限は 500 です。500 スロットを超えて購入するには、チケットを送信してください。

Tunnel:アップロードとダウンロードの制限

MaxCompute でのデータアップロードとダウンロードの制限については、「Tunnel の概要」をご参照ください。

データのアップロードとダウンロードの詳細については、「データアップロードのシナリオとツール」をご参照ください。

共有 Data Transmission Service リソースグループに関する情報

次の表に、さまざまなリージョンの無料共有リソースについて、プロジェクトごとに利用可能なスロットの最大数を示します。値はスロット単位で測定されます。

サイト

リージョン

スロット (数)

中国

中国 (杭州)

300

中国

中国東部 1 Finance (杭州)

50

中国

中国 (上海)

600

中国

中国東部 2 Finance (上海)

50

中国

中国 (北京)

300

中国

中国 (北京) Gov Cloud

100

中国

中国 (張家口)

300

中国

中国 (ウランチャブ)

300

中国

中国 (深セン)

150

中国

中国南部 1 Finance (深セン)

50

中国

中国 (成都)

150

中国

中国 (香港)

50

アジアパシフィック

シンガポール (シンガポール)

100

アジアパシフィック

マレーシア (クアラルンプール)

50

アジアパシフィック

インドネシア (ジャカルタ)

50

アジアパシフィック

日本 (東京)

50

ヨーロッパおよび米州

ドイツ (フランクフルト)

50

ヨーロッパおよび米州

米国 (シリコンバレー)

100

ヨーロッパ・アメリカ

米国 (バージニア)

50

ヨーロッパ・アメリカ

イギリス (ロンドン)

50

中東・インド

UAE (ドバイ)

50

データトンネリングサービスの各操作 (ブロックの書き込み、ダウンロードセッションの作成、フラッシュなど) はスロットを 1 つ占有します。接続が長期間アイドル状態のままでデータ転送がない場合、サーバーは自動的に接続を切断し、占有していたスロットを解放します。したがって、同時実行スロット数が制限に達した場合でも、手動で介入しなくても、一定期間後にアイドル状態の接続は自動的に回収されます。

SQL の制限事項

これらの制限は、MaxCompute の SQL ジョブに適用されます。

項目

制限

カテゴリ

説明

テーブル名の長さ

128 バイト

長さの制限

テーブル名に特殊文字を含めることはできず、英字で始まる必要があり、英字 (a-z、A-Z)、数字、およびアンダースコア (_) のみを含めることができます。

列名の長さ

128 バイト

長さの制限

  • 列名では大文字と小文字が区別されず、特殊文字を含めることはできません。英字 (a-z、A-Z)、数字、アンダースコア (_)、または漢字のみを含めることができます。列名は英字で始めることを推奨します。列名は 128 バイトを超えることはできません。

  • SET odps.sql.bigquery.compatible=true; コマンドで BigQuery 互換モードを有効にすると、列名の最大長は 256 バイトに増加します。

コメントの長さ

1,024 バイト

長さの制限

コメントは、1,024 バイトを超えない有効な文字列である必要があります。

テーブルあたりの列数

1,200

数量制限

テーブルは最大 1,200 列をサポートします。

テーブルあたりのパーティション数

60,000

数量制限

テーブルは最大 60,000 パーティションをサポートします。

テーブルあたりのパーティションレベル

6

数量制限

テーブルは最大 6 つのパーティションレベルをサポートします。

画面表示

10,000 行

数量制限

SELECT ステートメントでは、最大 10,000 行を画面に表示できます。

INSERT の宛先テーブル

256

数量制限

MULTI-INSERT ステートメントは、最大 256 の宛先テーブルに書き込むことができます。

UNION ALL

256

数量制限

UNION ALL ステートメントは、最大 256 のテーブルを結合できます。

MAPJOIN

128

数量制限

MAPJOIN 操作では、最大 128 の small テーブルを結合できます。

MAPJOIN のメモリ制限

512 MB

数量制限

MAPJOIN 操作では、すべての small テーブルの合計が 512 MB のメモリを超えることはできません。

ptinsubq (サブクエリ内のパーティション)

1,000 行

数量制限

サブクエリにパーティション列が含まれている場合、サブクエリは最大 1,000 行を返すことができます。

SQL ステートメントの長さ

2 MB

長さの制限

SQL ステートメントは 2 MB を超えることはできません。この制限は、SDK を介して実行される SQL ステートメントにも適用されます。

セルサイズ

8 MB

数量制限

単一テーブルセルのデータは 8 MB を超えることはできません。

IN 句のパラメーター数

1,024

数量制限

IN 句のパラメーターの最大推奨数は 1,024 です (例:in (1,2,3...,1024))。in(…) 句にパラメーターが多すぎると、コンパイルパフォーマンスが低下する可能性があります。値 1,024 は推奨値であり、厳密な制限ではありません。

jobconf.json のサイズ

1 MB

長さの制限

jobconf.json のサイズは 1 MB です。テーブルに多数のパーティションが含まれている場合、サイズが jobconf.json を超え、1 MB を超える可能性があります。

ビュー

書き込み不可

操作制限

ビューは読み取り専用であり、INSERT 操作をサポートしていません。

列のデータ型

変更不可

操作制限

既存の列のデータ型や位置を変更することはできません。

Java ユーザー定義関数 (UDF)

ABSTRACT または STATIC にはできません。

操作制限

Java UDF は ABSTRACT または STATIC として定義することはできません。

クエリ対象の最大パーティション数

10,000

数量制限

クエリは最大 10,000 パーティションをスキャンできます。

SQL 実行計画のサイズ

1 MB

長さの制限

MaxCompute SQL によって生成される実行計画は 1 MB を超えることはできません。超えた場合、ジョブは失敗し、次のエラーが返されます:FAILED: ODPS-0010000:System internal error - The Size of Plan is too large。

ジョブの最大実行時間

72 時間

実行時間の制限

デフォルトでは、単一の SQL ジョブの最大実行時間は 24 時間です。次のコマンドを使用すると、この制限を 72 時間まで延長できます。72 時間を超えて実行されるジョブは、システムによって自動的に終了されます。

SET odps.sql.job.max.time.hours=72;

パーティション作成頻度

120 回/15 秒

頻度制限

ALTER TABLE <table_name> ADD PARTITION <pt_spec> 操作は、15 秒間に最大 120 回実行できます。

SQL の詳細については、「SQL」をご参照ください。

MapReduce の制限事項

次の表に、MaxCompute で MapReduce ジョブを開発する際の制限事項を示します。

制限

値

カテゴリ

設定パラメーター

デフォルト

設定可能

インスタンスあたりのメモリ

256 MB~12 GB

メモリ

odps.stage.mapper(reducer).mem および odps.stage.mapper(reducer).jvm.mem

2,048 MB + 1,024 MB

はい

ジョブあたりのリソース

256

数量

—

—

いいえ

ジョブあたりの入力

1,024

数量

—

—

いいえ

ジョブあたりの出力

256

数量

—

—

いいえ

すべての入力にわたる個別のテーブル

64

数量

—

—

いいえ

ジョブあたりのカスタムカウンター

64

数量

—

—

いいえ

ジョブあたりのマップインスタンス

1~100,000

数量

odps.stage.mapper.num

分割サイズから計算

はい

ジョブあたりのリデュースインスタンス

0~2,000

数量

odps.stage.reducer.num

マップインスタンスの 1/4

はい

失敗したインスタンスあたりの再試行回数

3

数量

—

—

いいえ

ローカルデバッグ:マップインスタンス

2 (デフォルト)、最大 100

数量

—

2

いいえ

ローカルデバッグ:リデュースインスタンス

1 (デフォルト)、最大 100

数量

—

1

いいえ

ローカルデバッグ:入力ごとにダウンロードされたレコード

100 (デフォルト)、最大 10,000

数量

—

100

いいえ

インスタンスごとに 1 つのリソースの繰り返し読み取り

64

数量

—

—

いいえ

ジョブあたりの合計リソースサイズ

2 GB

長さ

—

—

いいえ

分割サイズ

≥ 1

長さ

odps.stage.mapper.split.size

256 MB

はい

STRING 列のコンテンツ長

8 MB

長さ

—

—

いいえ

ワーカー実行タイムアウト

1~3,600 秒

時間

odps.function.timeout

600 秒

はい

テーブルリソースでサポートされているフィールドタイプ

BIGINT、DOUBLE、STRING、DATETIME、BOOLEAN

データ型

—

—

いいえ

MapReduce の詳細については、「MapReduce」をご参照ください。

PyODPS の制限事項

DataWorks を使用して MaxCompute で PyODPS ジョブを開発する場合、次の制限が適用されます。

  • PyODPS ノードは最大 50 MB のローカルデータを処理でき、最大 1 GB のメモリを消費します。ノードがこれらの制限を超えると、システムはジョブを終了します。これを回避するには、PyODPS ジョブに不要な Python データ処理コードを追加しないでください。

  • より効率的な開発およびデバッグ体験のために、DataWorks ユーザーインターフェースで直接コーディングするのではなく、ローカル IDE でコードを記述することを推奨します。

  • DataWorks ゲートウェイへの過剰な負荷を防ぐため、DataWorks は PyODPS のメモリと CPU の使用量を制限します。Got killed エラーは、プロセスがメモリ制限を超えたために終了されたことを示します。これを防ぐには、ローカルでデータ操作を実行しないでください。これらの制限は、PyODPS によって開始された SQL または DataFrame ジョブ (to_pandas を除く) には適用されません。

  • matplotlib などのパッケージが利用できないため、次の機能は制限されます。

    • DataFrame の plot 関数は利用できません。

    • DataFrame ユーザー定義関数 (UDF) は、実行のために MaxCompute に送信する必要があります。Python サンドボックスの制限により、サポートされているサードパーティライブラリは、純粋な Python ライブラリと NumPy のみです。UDF で pandas を直接使用することはできません。

    • UDF 以外のコードでは、DataWorks にプリインストール済みの NumPy および pandas パッケージを使用できます。バイナリコードを含むサードパーティパッケージはサポートされていません。

  • 互換性の理由から、DataWorks はデフォルトで options.tunnel.use_instance_tunnel を False に設定します。InstanceTunnel をグローバルに有効にするには、この値を手動で True に設定する必要があります。

  • 実装上の理由により、Python の atexit パッケージはサポートされていません。代わりに try-finally ブロックを使用してください。

PyODPS の詳細については、「PyODPS」をご参照ください。

同時実行ジョブの制限

次の表に、各リージョンの単一の MaxCompute プロジェクトにおける同時実行ジョブの最大数を示します。

リージョン

最大同時実行ジョブ数

中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、および中国 (成都)

2,500

中国 (香港)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、日本 (東京)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、イギリス (ロンドン)、および UAE (ドバイ)

1,000

MaxCompute プロジェクトの同時実行数の制限を超えるジョブを送信すると、エラーが返されます。例:com.aliyun.odps.OdpsException: Request rejected by flow control. You have exceeded the limit for the number of tasks you can run concurrently in this project. Please try later。

セキュリティと権限の制限

│ │ 500 │

│ │ │

│ │ 10,000 │

│ │ │

│ │ 512 KB │

│ │ │

│ │ 32 KB │

│ │ │

説明

制限

パッケージ名の文字長。

128 バイト

パッケージをインストールできるプロジェクトの数。

100,000

パッケージに含めることができるリソースの最大数。

1,000

プロジェクトが作成できるパッケージの数。

100,000

MaxCompute プロジェクトがインストールできるパッケージの最大数。

100,000

MaxCompute プロジェクトが別の MaxCompute プロジェクトからインストールできるパッケージの最大数。

100

コメントの文字長。

1 KB

ロール名の制限。

64 バイトを超えてはなりません。小文字 (a-z)、大文字 (A-Z)、数字、およびアンダースコア (_) のみを含めることができ、英字で始まる必要があります。

単一プロジェクト内のロール数。

500

単一プロジェクト内のユーザー数。

10,000

ロールにバインドされたポリシーのテキスト長の制限。

512 KB

ポリシー内の単一ステートメントのテキスト長の制限。

32 KB