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

MaxCompute:MaxCompute SQLの制限

最終更新日:Dec 06, 2024

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

項目

最大値 /制限

カテゴリ

説明

テーブル名の長さ

128 バイト

Length

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

コメントの長さ

1,024 バイト

Length

コメントは、長さが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個の小さなテーブルに参加できます。

MAPJOINメモリ

512 MB

数量

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

ptinsubq

1000 行

数量

PT IN SUBQUERYステートメントは、最大1,000行を生成できます。

SQL文の長さ

2 MB

Length

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

Length

jobconf.jsonファイルの最大サイズは1 MBです。 テーブルに多数のパーティションが含まれている場合, jobconf.jsonファイルのサイズが1 MBを超えることがあります。

ビュー

書き込み不可

操作

ビューは書き込み可能ではなく、INSERTステートメントをサポートしていません。

列のデータ型と位置

変更不可

操作

列のデータ型と位置は変更できません。

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

抽象または静的にすることはできません

操作

Java UDFをabstractまたはstaticにすることはできません。

照会可能なパーティション

10,000

数量

最大 10,000 のパーティションを照会できます。

SQL実行プラン

1 MB

Length

MaxCompute SQL文を使用して生成される実行プランのサイズは、1 MBを超えることはできません。 それ以外の場合、FAILED: ODPS-0010000: System internal error - The Size of Plan is too largeというエラーメッセージが報告されます。

1つのジョブの最大実行时间

72時間

実行期間

1つのSQLジョブのデフォルトの最大実行時間は24時間です。 次のパラメーター設定を使用して、単一のSQLジョブを最大72時間実行できます。 SQLジョブは72時間以上実行できません。 SQLジョブが72時間実行されると、ジョブは自動的に停止されます。

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

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