このトピックでは、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 バイト | 長さの制限 |
|
コメントの長さ | 1,024 バイト | 長さの制限 | コメントは、1,024 バイトを超えない有効な文字列である必要があります。 |
テーブルあたりの列数 | 1,200 | 数量制限 | テーブルは最大 1,200 列をサポートします。 |
テーブルあたりのパーティション数 | 60,000 | 数量制限 | テーブルは最大 60,000 パーティションをサポートします。 |
テーブルあたりのパーティションレベル | 6 | 数量制限 | テーブルは最大 6 つのパーティションレベルをサポートします。 |
画面表示 | 10,000 行 | 数量制限 | SELECT ステートメントでは、最大 10,000 行を画面に表示できます。 |
| 256 | 数量制限 |
|
| 256 | 数量制限 |
|
| 128 | 数量制限 |
|
| 512 MB | 数量制限 |
|
| 1,000 行 | 数量制限 | サブクエリにパーティション列が含まれている場合、サブクエリは最大 1,000 行を返すことができます。 |
SQL ステートメントの長さ | 2 MB | 長さの制限 | SQL ステートメントは 2 MB を超えることはできません。この制限は、SDK を介して実行される SQL ステートメントにも適用されます。 |
セルサイズ | 8 MB | 数量制限 | 単一テーブルセルのデータは 8 MB を超えることはできません。 |
IN 句のパラメーター数 | 1,024 | 数量制限 |
|
| 1 MB | 長さの制限 |
|
ビュー | 書き込み不可 | 操作制限 | ビューは読み取り専用であり、 |
列のデータ型 | 変更不可 | 操作制限 | 既存の列のデータ型や位置を変更することはできません。 |
Java ユーザー定義関数 (UDF) |
| 操作制限 | Java UDF は |
クエリ対象の最大パーティション数 | 10,000 | 数量制限 | クエリは最大 10,000 パーティションをスキャンできます。 |
SQL 実行計画のサイズ | 1 MB | 長さの制限 | MaxCompute SQL によって生成される実行計画は 1 MB を超えることはできません。超えた場合、ジョブは失敗し、次のエラーが返されます: |
ジョブの最大実行時間 | 72 時間 | 実行時間の制限 | デフォルトでは、単一の SQL ジョブの最大実行時間は 24 時間です。次のコマンドを使用すると、この制限を 72 時間まで延長できます。72 時間を超えて実行されるジョブは、システムによって自動的に終了されます。 |
パーティション作成頻度 | 120 回/15 秒 | 頻度制限 |
|
SQL の詳細については、「SQL」をご参照ください。
MapReduce の制限事項
次の表に、MaxCompute で MapReduce ジョブを開発する際の制限事項を示します。
制限 | 値 | カテゴリ | 設定パラメーター | デフォルト | 設定可能 |
インスタンスあたりのメモリ | 256 MB~12 GB | メモリ |
| 2,048 MB + 1,024 MB | はい |
ジョブあたりのリソース | 256 | 数量 | — | — | いいえ |
ジョブあたりの入力 | 1,024 | 数量 | — | — | いいえ |
ジョブあたりの出力 | 256 | 数量 | — | — | いいえ |
すべての入力にわたる個別のテーブル | 64 | 数量 | — | — | いいえ |
ジョブあたりのカスタムカウンター | 64 | 数量 | — | — | いいえ |
ジョブあたりのマップインスタンス | 1~100,000 | 数量 |
| 分割サイズから計算 | はい |
ジョブあたりのリデュースインスタンス | 0~2,000 | 数量 |
| マップインスタンスの 1/4 | はい |
失敗したインスタンスあたりの再試行回数 | 3 | 数量 | — | — | いいえ |
ローカルデバッグ:マップインスタンス | 2 (デフォルト)、最大 100 | 数量 | — | 2 | いいえ |
ローカルデバッグ:リデュースインスタンス | 1 (デフォルト)、最大 100 | 数量 | — | 1 | いいえ |
ローカルデバッグ:入力ごとにダウンロードされたレコード | 100 (デフォルト)、最大 10,000 | 数量 | — | 100 | いいえ |
インスタンスごとに 1 つのリソースの繰り返し読み取り | 64 | 数量 | — | — | いいえ |
ジョブあたりの合計リソースサイズ | 2 GB | 長さ | — | — | いいえ |
分割サイズ | ≥ 1 | 長さ |
| 256 MB | はい |
STRING 列のコンテンツ長 | 8 MB | 長さ | — | — | いいえ |
ワーカー実行タイムアウト | 1~3,600 秒 | 時間 |
| 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 |