SET ステートメントを使用して、MaxCompute のセッション変数を現在のセッションに設定します。
構文
SET <key>=<value>パラメーター
KEY:プロパティの名前です。
VALUE:割り当てる値です。
セッション プロパティ
次の表に、SET 文で設定できるプロパティを示します。この設定は現在のセッションでのみ有効です。
現在のセッションに設定された変数を表示するには、SHOW ステートメントを実行します。また、LogView 2.0 の SourceXML でも値を確認できます。
コンピューティングリソース
プロパティ | 説明 | 有効な値 | デフォルト |
| ジョブ全体の同時ワーカーの最大数。 | 1–1000000 | — |
| 各 Map ワーカーに割り当てられるメモリ。 | 256–12288 | 1024 MB |
| 各 Reduce ワーカーに割り当てられるメモリ。 | 256–12288 | 1024 MB |
| 各 Join ワーカーに割り当てられるメモリ。 | 256–12288 | 1024 MB |
| ステージ内の各ワーカーに割り当てられるメモリ。 | 256–12288 | — |
| Map ワーカーあたりの入力データサイズ (入力ファイルの分割サイズ)。 この値を調整することで、間接的に Map ワーカーの数を制御します。 | — | 256 MB |
| 各 Reduce ステージのワーカー数。 | 1–10000 | — |
| 各 Join ステージのワーカー数。 | 1–10000 | — |
| MaxCompute ジョブのステージあたりの同時ワーカー数。 | 1–10000 | — |
SQL ステートメントで LIMIT キーワードを使用すると、同時実行は 1 つのワーカーに制限されます。 上記のワーカー数または分割サイズのプロパティのいずれかを設定する場合は、SQL ステートメントから LIMIT キーワードを省略してください。
SQL エンジンの動作
プロパティ | 説明 | 有効な値 | デフォルト |
| 動的パーティショニングを有効にし、多数の小さなファイルが生成されるのを防ぎます。少数の動的パーティションが予想される場合は、データスキューを防ぐために |
| — |
| MaxCompute V2.0 データ型エディションを有効にします。 |
| — |
| Hive 互換のデータ型エディションを有効にします。 |
| — |
| SQL エンジンがバッチごとに処理する行数です。行のフィールドが大きいためにメモリ不足 (OOM) エラーが発生した場合、または UDF のパフォーマンスが原因でタイムアウトが発生した場合は、この値を小さくしてください。 SQL エンジンのパフォーマンスが低下するため、この値を低く設定しすぎないようにしてください。 | 1–1024 | 1024 |
|
|
| — |
|
|
| — |
|
|
| — |
|
|
| — |
| SQL ステートメントの実行時に使用される Python のバージョンです。 |
| — |
| MaxCompute プロジェクトのタイムゾーンです。詳細については、「Time zone configuration operations」をご参照ください。 | — | — |
| DECIMAL 型の値の小数点以下の末尾のゼロを削除します。 |
|
|
| MaxCompute クライアント (odpscmd) がクエリ結果に列ヘッダーを表示するかどうかを制御します。詳細については、「MaxCompute client (odpscmd)」をご参照ください。 |
| — |
| JSON データ型を有効にします。詳細については、「Instructions for using JSON data types in MaxCompute」をご参照ください。 |
| — |
| 時、分、秒の部分を含む日付文字列を変換します。 |
|
|
| RAND 関数が使用するシードを制御します。 |
|
|
| SQL ステートメントが消費するリソースの上限です。詳細については、「消費量制御」をご参照ください。 | — | — |
| 単一のジョブが実行できる最大時間です。 | 1–72 | 24 時間 |
MAPJOIN とデータスキュー
プロパティ | 説明 | 有効な値 | デフォルト |
| MAPJOIN 操作中にメモリにロードされる小さいテーブルのメモリサイズ。同じタスク内のすべての小さいテーブルのグローバルメモリ制限は、 | 0–8192 MB | — |
| SKEWJOIN 機能を有効にして、ロングテール問題を緩和します。 |
| — |
| SKEWJOIN が動作するキーと値を指定します。詳細については、「データスキューのチューニング」をご参照ください。 | — | — |
オプティマイザ
プロパティ | 説明 | 有効な値 | デフォルト |
| レンジクラスター化テーブルの Shuffle Remove 機能を有効にします。 |
| — |
| 集約操作中にオプティマイザが取得するホットキー値の数。詳細については、「SKEWJOIN HINT」をご参照ください。 | — | — |
| テーブルの列統計情報を自動的に収集する Freeride 機能を有効にします。詳細については、「オプティマイザ」をご参照ください。 |
| — |
| 特定の列の列統計情報の収集計画。詳細については、「オプティマイザ」をご参照ください。 | — | — |
ユーザー定義関数とユーザー定義型
プロパティ | 説明 | 有効な値 | デフォルト |
| ユーザー定義関数 (UDF) の Java 仮想マシン (JVM) ヒープメモリの最大値。UDF のワークロードで OOM エラーが発生する場合はこの値を増やしますが、根本原因を解決するために UDF コードも最適化してください。 | 256–12288 | 1024 MB |
| UDF のタイムアウト期間。 | 0–3600 | 600 秒 |
| GET_JSON_OBJECT 関数が元の文字列をそのまま返すかどうかを制御します。2021 年 4 月 20 日以降に作成されたプロジェクトは、デフォルトで元の文字列を返します。それ以前に作成されたプロジェクトは、既存のジョブに影響を与えないよう、JSON 形式の予約文字にエスケープ文字を使用します。詳細については、「GET_JSON_OBJECT」をご参照ください。 |
| — |
| UDF のパーティションプルーニングを有効にします。詳細については、「SELECT 構文」の「WHERE 句 (where_condition)」セクションをご参照ください。 |
| — |
| パーティションプルーニングの実行時に、結果のバックフィル中のエラーを無視します。詳細については、「SELECT 構文」の「WHERE 句 (where_condition)」セクションをご参照ください。 |
| — |
| ユーザー定義型 (UDT) が参照するリソース。複数のリソースはカンマで区切ります。詳細については、「概要」をご参照ください。 | アップロードされたリソース | — |
| UDT を出力するすべての列で、 |
| — |
| UDT が参照する Java パッケージ。複数のパッケージはカンマで区切ります。詳細については、「概要」をご参照ください。 | アップロードされた Java パッケージ | — |
複合型の書き込みバッファー
プロパティ | 説明 | 有効な値 | デフォルト |
| テーブルの書き込み中に、複合データ型 (STRING、MAP、STRUCT、ARRAY、BINARY など) の列を格納するためのキャッシュサイズです。複合型の列が 3 つあるテーブルの場合、MaxCompute はデフォルトで 192 MB (64 × 3) のメモリを確保します。出力テーブルに複合型の変数が含まれている場合、または MAPJOIN 操作で使用される小さいテーブルに複合型のデータが含まれている場合、このプロパティを調整すると、ジョブの実行に使用されるメモリに悪影響を及ぼす可能性があります。このプロパティの値が大きいと、OOM エラーが発生する可能性があります。大きな値によって OOM エラーが発生する場合は、実際の変数サイズと | 単位:バイト | 67108864 |
外部テーブル
プロパティ | 説明 | 有効な値 | デフォルト |
| 外部テーブルの仮想プライベートクラウド (VPC) を有効にします。詳細については、「Hologres 外部テーブル」をご参照ください。 |
| — |
| 下位層で Object Storage Service (OSS) 外部テーブルにアクセスする際に HTTPS を有効にします。詳細については、「OSS 外部テーブルの作成」をご参照ください。 |
| — |
| OSS 外部テーブルにデータを書き込むために、マルチパートアップロード を有効にします。詳細については、「OSS へのデータの書き込み」をご参照ください。 |
| — |
| Tablestore 外部テーブルにデータを書き込むために、PutRow 操作 を呼び出します。詳細については、「PutRow」をご参照ください。 |
| — |
| 外部テーブルにアクセスする際のワーカーの最大同時実行数です。 | 正の整数 | — |
| ネイティブ ORC リーダー を使用してテーブルを読み取ります。 |
| — |
InstanceTunnel
プロパティ | 説明 | 有効な値 | デフォルト |
| InstanceTunnel を有効にします。詳細については、「使用上の注意」をご参照ください。 |
| — |
セキュリティとアクセス制御
プロパティ | 説明 | 有効な値 | デフォルト |
| LabelSecurity を有効にします。詳細については、「ラベルベースのアクセス制御」をご参照ください。 |
| — |
| ACL ベースのアクセス制御を有効にします。詳細については、「MaxCompute の権限」をご参照ください。 |
| — |
| ポリシーベースのアクセス制御を有効にします。詳細については、「ポリシーベースのアクセス制御」をご参照ください。 |
| — |
| オブジェクトの作成者に、作成したオブジェクトへのアクセス権限を付与します。 |
| — |
| オブジェクトの作成者が、他のユーザーに自分のオブジェクトへのアクセス権限を付与できるようにします。 |
| — |
| プロジェクトのデータ保護を有効にします。詳細については、「プロジェクトのデータ保護」をご参照ください。 |
| — |
| SQL クエリ結果に適用される動的データマスキングルールを指定します。詳細については、「動的データマスキング」をご参照ください。 | カスタムマスキングルール | — |
| セッションレベルのアイソレーション環境で、動的データマスキングを有効にします。詳細については、「動的データマスキング」をご参照ください。 |
| — |
クォータ
プロパティ | 説明 | 有効な値 | デフォルト |
| 現在のセッションでタスクを実行するために使用されるクォータの名前。詳細については、「新しい MaxCompute コンソールでのクォータの管理」をご参照ください。 | — | — |
例
各マッパーが処理する入力データサイズを 256 MB に設定します。
SET odps.stage.mapper.split.size=256;次のステップ
SHOW : SET ステートメントで設定したプロパティを表示します。