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

MaxCompute:SET

最終更新日:May 30, 2026

SET ステートメントを使用して、MaxCompute のセッション変数を現在のセッションに設定します。

構文

SET <key>=<value>

パラメーター

  • KEY:プロパティの名前です。

  • VALUE:割り当てる値です。

セッション プロパティ

次の表に、SET 文で設定できるプロパティを示します。この設定は現在のセッションでのみ有効です。

現在のセッションに設定された変数を表示するには、SHOW ステートメントを実行します。また、LogView 2.0 の SourceXML でも値を確認できます。

コンピューティングリソース

プロパティ

説明

有効な値

デフォルト

odps.job.workers.limit

ジョブ全体の同時ワーカーの最大数。

1–1000000

odps.stage.mapper.mem

各 Map ワーカーに割り当てられるメモリ。

256–12288

1024 MB

odps.stage.reducer.mem

各 Reduce ワーカーに割り当てられるメモリ。

256–12288

1024 MB

odps.stage.joiner.mem

各 Join ワーカーに割り当てられるメモリ。

256–12288

1024 MB

odps.stage.mem

ステージ内の各ワーカーに割り当てられるメモリ。 odps.stage.mapper.memodps.stage.reducer.mem、および odps.stage.joiner.mem よりも優先度は低くなります。

256–12288

odps.stage.mapper.split.size

Map ワーカーあたりの入力データサイズ (入力ファイルの分割サイズ)。 この値を調整することで、間接的に Map ワーカーの数を制御します。

256 MB

odps.stage.reducer.num

各 Reduce ステージのワーカー数。

1–10000

odps.stage.joiner.num

各 Join ステージのワーカー数。

1–10000

odps.stage.num

MaxCompute ジョブのステージあたりの同時ワーカー数。 odps.stage.mapper.split.sizeodps.stage.reducer.num、および odps.stage.joiner.num よりも優先度は低くなります。

1–10000

SQL ステートメントで LIMIT キーワードを使用すると、同時実行は 1 つのワーカーに制限されます。 上記のワーカー数または分割サイズのプロパティのいずれかを設定する場合は、SQL ステートメントから LIMIT キーワードを省略してください。

SQL エンジンの動作

プロパティ

説明

有効な値

デフォルト

odps.sql.reshuffle.dynamicpt

動的パーティショニングを有効にし、多数の小さなファイルが生成されるのを防ぎます。少数の動的パーティションが予想される場合は、データスキューを防ぐために False に設定します。

True / False

odps.sql.type.system.odps2

MaxCompute V2.0 データ型エディションを有効にします。

True / False

odps.sql.hive.compatible

Hive 互換のデータ型エディションを有効にします。 inputRecordReaderoutputRecordReaderSerde などの Hive 構文に必要です。

True / False

odps.sql.executionengine.batch.rowcount

SQL エンジンがバッチごとに処理する行数です。行のフィールドが大きいためにメモリ不足 (OOM) エラーが発生した場合、または UDF のパフォーマンスが原因でタイムアウトが発生した場合は、この値を小さくしてください。 SQL エンジンのパフォーマンスが低下するため、この値を低く設定しすぎないようにしてください。

1–1024

1024

odps.sql.groupby.position.alias

GROUP BY 句の整数定数を SELECT ステートメントの列の位置として扱います。

True / False

odps.sql.groupby.skewindata

GROUP BY 操作のアンチスキュー機能を有効にします。

True / False

odps.sql.orderby.position.alias

ORDER BY 句の整数定数を SELECT ステートメントの列の位置として扱います。

True / False

odps.sql.groupby.orderby.position.alias

GROUP BY 句と ORDER BY 句の両方の整数定数を SELECT ステートメントの列の位置として扱います。ジョブの実行中にこれを True に設定すると、ジョブの解析に影響する可能性があります。プロジェクトでこの設定を有効にする前に、既存のジョブが引き続き正しく動作することを確認してください。

True / False

odps.sql.python.version

SQL ステートメントの実行時に使用される Python のバージョンです。

cp27 / cp37

odps.sql.timezone

MaxCompute プロジェクトのタイムゾーンです。詳細については、「Time zone configuration operations」をご参照ください。

odps.sql.decimal.tostring.trimzero

DECIMAL 型の値の小数点以下の末尾のゼロを削除します。

True / False

True

odps.sql.select.output.format

MaxCompute クライアント (odpscmd) がクエリ結果に列ヘッダーを表示するかどうかを制御します。詳細については、「MaxCompute client (odpscmd)」をご参照ください。

{"needHeader":false,"fieldDelim":""} (ヘッダーなし) / {"needHeader":true,"fieldDelim":""} (ヘッダーあり)

odps.sql.type.json.enable

JSON データ型を有効にします。詳細については、「Instructions for using JSON data types in MaxCompute」をご参照ください。

True / False

odps.sql.executionengine.enable.string.to.date.full.format

時、分、秒の部分を含む日付文字列を変換します。

True / False

False

odps.sql.executionengine.enable.rand.time.seed

RAND 関数が使用するシードを制御します。 True は現在のシステム時刻を使用します (再実行すると結果が異なる場合があります。シャッフルキーとしては使用できません)。 False は現在のインスタンス ID を使用します (べき等性を保証します)。

True / False

False

odps.sql.metering.value.max

SQL ステートメントが消費するリソースの上限です。詳細については、「消費量制御」をご参照ください。

odps.sql.job.max.time.hours

単一のジョブが実行できる最大時間です。

1–72

24 時間

MAPJOIN とデータスキュー

プロパティ

説明

有効な値

デフォルト

odps.sql.mapjoin.memory.max

MAPJOIN 操作中にメモリにロードされる小さいテーブルのメモリサイズ。同じタスク内のすべての小さいテーブルのグローバルメモリ制限は、min(8192 MB, odps.sql.mapjoin.memory.max × 小さいテーブルの数) です。

0–8192 MB

odps.sql.skewjoin

SKEWJOIN 機能を有効にして、ロングテール問題を緩和します。

True / False

odps.sql.skewinfo

SKEWJOIN が動作するキーと値を指定します。詳細については、「データスキューのチューニング」をご参照ください。

オプティマイザ

プロパティ

説明

有効な値

デフォルト

odps.optimizer.enable.range.partial.repartitioning

レンジクラスター化テーブルの Shuffle Remove 機能を有効にします。

True / False

odps.optimizer.skew.join.topk.num

集約操作中にオプティマイザが取得するホットキー値の数。詳細については、「SKEWJOIN HINT」をご参照ください。

odps.optimizer.stat.collect.auto

テーブルの列統計情報を自動的に収集する Freeride 機能を有効にします。詳細については、「オプティマイザ」をご参照ください。

True / False

odps.optimizer.stat.collect.plan

特定の列の列統計情報の収集計画。詳細については、「オプティマイザ」をご参照ください。

ユーザー定義関数とユーザー定義型

プロパティ

説明

有効な値

デフォルト

odps.sql.udf.jvm.memory

ユーザー定義関数 (UDF) の Java 仮想マシン (JVM) ヒープメモリの最大値。UDF のワークロードで OOM エラーが発生する場合はこの値を増やしますが、根本原因を解決するために UDF コードも最適化してください。

256–12288

1024 MB

odps.function.timeout

UDF のタイムアウト期間。

0–3600

600 秒

odps.sql.udf.getjsonobj.new

GET_JSON_OBJECT 関数が元の文字列をそのまま返すかどうかを制御します。2021 年 4 月 20 日以降に作成されたプロジェクトは、デフォルトで元の文字列を返します。それ以前に作成されたプロジェクトは、既存のジョブに影響を与えないよう、JSON 形式の予約文字にエスケープ文字を使用します。詳細については、「GET_JSON_OBJECT」をご参照ください。

True / False

odps.sql.udf.ppr.deterministic

UDF のパーティションプルーニングを有効にします。詳細については、「SELECT 構文」の「WHERE 句 (where_condition)」セクションをご参照ください。

True / False

odps.sql.udf.ppr.to.subquery

パーティションプルーニングの実行時に、結果のバックフィル中のエラーを無視します。詳細については、「SELECT 構文」の「WHERE 句 (where_condition)」セクションをご参照ください。

True / False

odps.sql.session.resources

ユーザー定義型 (UDT) が参照するリソース。複数のリソースはカンマで区切ります。詳細については、「概要」をご参照ください。

アップロードされたリソース

odps.sql.udt.display.tostring

UDT を出力するすべての列で、java.util.Objects.toString() メカニズムを有効にします。

True / False

odps.sql.session.java.imports

UDT が参照する Java パッケージ。複数のパッケージはカンマで区切ります。詳細については、「概要」をご参照ください。

アップロードされた Java パッケージ

複合型の書き込みバッファー

プロパティ

説明

有効な値

デフォルト

odps.sql.executionengine.coldata.deep.buffer.size.max

テーブルの書き込み中に、複合データ型 (STRING、MAP、STRUCT、ARRAY、BINARY など) の列を格納するためのキャッシュサイズです。複合型の列が 3 つあるテーブルの場合、MaxCompute はデフォルトで 192 MB (64 × 3) のメモリを確保します。出力テーブルに複合型の変数が含まれている場合、または MAPJOIN 操作で使用される小さいテーブルに複合型のデータが含まれている場合、このプロパティを調整すると、ジョブの実行に使用されるメモリに悪影響を及ぼす可能性があります。このプロパティの値が大きいと、OOM エラーが発生する可能性があります。大きな値によって OOM エラーが発生する場合は、実際の変数サイズと batch row count の設定に基づいて、このプロパティの値を減らしてください。

単位:バイト

67108864

外部テーブル

プロパティ

説明

有効な値

デフォルト

odps.sql.external.net.vpc

外部テーブルの仮想プライベートクラウド (VPC) を有効にします。詳細については、「Hologres 外部テーブル」をご参照ください。

True / False

odps.sql.unstructured.data.oss.use.https

下位層で Object Storage Service (OSS) 外部テーブルにアクセスする際に HTTPS を有効にします。詳細については、「OSS 外部テーブルの作成」をご参照ください。

True / False

odps.sql.unstructured.oss.commit.mode

OSS 外部テーブルにデータを書き込むために、マルチパートアップロード を有効にします。詳細については、「OSS へのデータの書き込み」をご参照ください。

True / False

odps.sql.unstructured.tablestore.put.row

Tablestore 外部テーブルにデータを書き込むために、PutRow 操作 を呼び出します。詳細については、「PutRow」をご参照ください。

True / False

odps.sql.unstructured.external.max.dop

外部テーブルにアクセスする際のワーカーの最大同時実行数です。

正の整数

odps.ext.oss.orc.native

ネイティブ ORC リーダー を使用してテーブルを読み取ります。

True / False

InstanceTunnel

プロパティ

説明

有効な値

デフォルト

console.sql.result.instancetunnel

InstanceTunnel を有効にします。詳細については、「使用上の注意」をご参照ください。

True / False

セキュリティとアクセス制御

プロパティ

説明

有効な値

デフォルト

LabelSecurity

LabelSecurity を有効にします。詳細については、「ラベルベースのアクセス制御」をご参照ください。

True / False

CheckPermissionUsingACL

ACL ベースのアクセス制御を有効にします。詳細については、「MaxCompute の権限」をご参照ください。

True / False

CheckPermissionUsingPolicy

ポリシーベースのアクセス制御を有効にします。詳細については、「ポリシーベースのアクセス制御」をご参照ください。

True / False

ObjectCreatorHasAccessPermission

オブジェクトの作成者に、作成したオブジェクトへのアクセス権限を付与します。

True / False

ObjectCreatorHasGrantPermission

オブジェクトの作成者が、他のユーザーに自分のオブジェクトへのアクセス権限を付与できるようにします。

True / False

ProjectProtection

プロジェクトのデータ保護を有効にします。詳細については、「プロジェクトのデータ保護」をご参照ください。

True / False

odps.output.field.formatter

SQL クエリ結果に適用される動的データマスキングルールを指定します。詳細については、「動的データマスキング」をご参照ください。

カスタムマスキングルール

odps.isolation.session.enable

セッションレベルのアイソレーション環境で、動的データマスキングを有効にします。詳細については、「動的データマスキング」をご参照ください。

True / False

クォータ

プロパティ

説明

有効な値

デフォルト

odps.task.wlm.quota

現在のセッションでタスクを実行するために使用されるクォータの名前。詳細については、「新しい MaxCompute コンソールでのクォータの管理」をご参照ください。

各マッパーが処理する入力データサイズを 256 MB に設定します。

SET odps.stage.mapper.split.size=256;

次のステップ

  • SHOW : SET ステートメントで設定したプロパティを表示します。