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

MaxCompute:MaxCompute SQL の制限

最終更新日:Feb 21, 2025

MaxCompute SQL は、大規模データセット向けに設計された SQL 言語です。MaxCompute SQL を使用して大量のデータを処理する場合は、システムの安定性と運用効率を確保するために特定の制限に注意する必要があります。このトピックでは、MaxCompute SQL の制限について説明します。

項目

最大値/制限

カテゴリ

説明

テーブル名長

128 バイト

長さ

テーブル名または列名には、英字、数字、およびアンダースコア (_) のみを含めることができます。最初の文字は英字にする必要があります。特殊文字はサポートされていません。

コメント長

1,024 バイト

長さ

コメントは、長さが 1,024 バイトを超えることができない有効な文字列です。

テーブルの列定義

1,200

数量

1 つのテーブルには、最大 1,200 の列定義を含めることができます。

テーブルのパーティション

60,000

数量

1 つのテーブルには、最大 60,000 のパーティションを含めることができます。

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

6

数量

1 つのテーブルには、最大 6 レベルのパーティションを含めることができます。

出力表示

10,000 行

数量

SELECT 文は、最大 10,000 行を返すことができます。

INSERT 操作の宛先テーブルの数

256

数量

MULTI-INSERT 文を使用すると、最大 256 のテーブルに同時にデータを挿入できます。

UNION ALL

256

数量

UNION ALL 文を使用すると、最大 256 のテーブルを結合できます。

MAPJOIN

128

数量

MAPJOIN ヒントを使用すると、最大 128 の小さなテーブルを結合できます。

MAPJOIN メモリ

512 MB

数量

SQL 文で MAPJOIN ヒントを指定する場合、すべての小さなテーブルのメモリサイズが 512 MB を超えることはできません。

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

1,000 行

数量

PT IN SUBQUERY 文は、最大 1,000 行を生成できます。

SQL 文の長さ

2 MB

長さ

SQL 文の長さは 2 MB を超えることはできません。この制限は、SDK を使用して SQL 文を実行するシナリオに適しています。

列レコードの長さ

8 MB

数量

テーブル内の列レコードの最大長は 8 MB です。

IN 句のパラメーター

1,024

数量

この項目は、IN 句 (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 時間です。次のパラメーター設定を使用すると、単一の SQL ジョブを最大 72 時間実行できます。SQL ジョブは 72 時間以上実行できません。SQL ジョブが 72 時間実行されると、ジョブは自動的に停止します。

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

テーブルパーティションの作成頻度

15 秒あたり 120 回

頻度制限

ALTER TABLE <table_name> ADD PARTITION <pt_spec> 操作を実行してテーブルパーティションを作成する場合の頻度制限は、15 秒あたり 120 回です。

説明

上記の制限の一部は手動で変更できません。