- カテゴリ:
ALTER WAREHOUSE¶
仮想ウェアハウスを一時停止または再開するか、ウェアハウスに対するすべてのクエリ(およびその他の SQL ステートメント)を中止します。ウェアハウスのプロパティの名前変更または設定/設定解除にも使用できます。
- こちらもご参照ください:
構文¶
ALTER WAREHOUSE [ IF EXISTS ] [ <name> ] { SUSPEND | RESUME [ IF SUSPENDED ] }
ALTER WAREHOUSE [ IF EXISTS ] [ <name> ] ABORT ALL QUERIES
ALTER WAREHOUSE [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER WAREHOUSE [ IF EXISTS ] <name> SET [ objectProperties ]
[ objectParams ]
ALTER WAREHOUSE [ IF EXISTS ] <name> UNSET { <property_name> | <param_name> } [ , ... ]
条件:
objectProperties ::= WAREHOUSE_SIZE = XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE MAX_CLUSTER_COUNT = <num> MIN_CLUSTER_COUNT = <num> SCALING_POLICY = STANDARD | ECONOMY AUTO_SUSPEND = <num> AUTO_RESUME = TRUE | FALSE RESOURCE_MONITOR = <monitor_name> COMMENT = '<string_literal>'objectParams ::= MAX_CONCURRENCY_LEVEL = <num> STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num> STATEMENT_TIMEOUT_IN_SECONDS = <num>
プロパティ/パラメーター¶
名前
変更するウェアハウスの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
注釈
ウェアハウス識別子は、以下に応じて必須か任意のいずれかとなります。
ウェアハウスを再開/一時停止する、またはウェアハウスのクエリを中止する際、ウェアハウスが現在セッションで使用されている場合、識別子を省略できます。
ウェアハウスの名前を変更するか、ウェアハウスで他の操作を実行する場合、識別子を指定する 必要があります。
SUSPEND | RESUME [ IF SUSPENDED ]
ウェアハウスで実行するアクションを指定します。
SUSPEND
はウェアハウスからすべてのコンピュートノードを削除し、ウェアハウスを「一時停止」状態にします。RESUME [ IF SUSPENDED ]
はサーバーをプロビジョニングすることにより、中断されたウェアハウスを使用可能な「実行中」状態にします。オプションの
IF SUSPENDED
句は、すでに実行されているウェアハウスを再開するときにALTER WAREHOUSEコマンドが正常に完了するかどうかを指定します。省略すると、ウェアハウスが既に実行されている場合、コマンドは失敗し、エラーを返します。
指定すると、ウェアハウスが実行中かどうかに関係なく、コマンドは正常に完了します。
ABORT ALL QUERIES
ウェアハウスで現在実行中またはキューに入っているすべてのクエリを中止します。
RENAME TO 新しい名前
ウェアハウスの新しい識別子を指定します。アカウントに対して一意である必要があります。
詳細については、 識別子の要件 をご参照ください。
SET ...
ウェアハウスに設定する1つ以上のプロパティ/パラメーターを指定します(空白、コンマ、または改行で区切られます)。
WAREHOUSE_SIZE = 文字列定数
仮想ウェアハウスのサイズを指定します。サイズは、ウェアハウス内の各クラスター内のサーバーの数を決定するため、ウェアハウスの稼働中に消費されるクレジットの数を決定します。
- 有効な値
XSMALL
、'X-SMALL'
SMALL
MEDIUM
LARGE
XLARGE
、'X-LARGE'
XXLARGE
、X2LARGE
、'2X-LARGE'
XXXLARGE
、X3LARGE
、'3X-LARGE'
X4LARGE
、'4X-LARGE'
- デフォルト
XLARGE
注釈
ハイフンを含む値(
'2X-LARGE'
など)を使用するには、示されているように、値を一重引用符で囲む必要があります。MAX_CLUSTER_COUNT = 数値
ウェアハウスのサーバークラスターの最大数を指定します。
- 有効な値
1
から10
1
より大きい値を指定すると、ウェアハウスがマルチクラスターウェアハウスであることを示します。ただし、値は Snowflake Enterprise Edition (またはそれ以上)でのみより高い値に設定できます。詳細については、 マルチクラスターウェアハウス をご参照ください。
- デフォルト
1
(単一クラスターウェアハウス)
ちなみに
Snowflake Enterprise Edition(またはそれ以上)の場合、ウェアハウスの高可用性と最適なパフォーマンスを維持するために、常に
1
より大きい値を設定することをお勧めします。また、これにより、万一クラスターに障害が発生した場合の継続性を確保できます。MIN_CLUSTER_COUNT = 数値
ウェアハウスのサーバークラスターの最小数を指定します(マルチクラスターウェアハウスにのみ適用されます)。
- 有効な値
1
から10
ただし、
MIN_CLUSTER_COUNT
はMAX_CLUSTER_COUNT
以下でなければならないことに注意してください。両方のパラメーターが等しい場合、ウェアハウスは 最大化 モードで実行されます。
MIN_CLUSTER_COUNT
がMAX_CLUSTER_COUNT
未満の場合、ウェアハウスは 自動スケール モードで実行されます。
詳細については、 マルチクラスターウェアハウス をご参照ください。
- デフォルト
1
SCALING_POLICY = STANDARD | ECONOMY
自動スケールモードで実行されているマルチクラスターウェアハウス内のクラスターを自動的に開始およびシャットダウンするためのポリシーを指定するオブジェクトパラメーター。
このパラメーターの詳細については、 マルチクラスターウェアハウスのスケーリングポリシーの設定 をご参照ください。
AUTO_SUSPEND = 数値 | NULL
ウェアハウスが自動的に中断されるまでの非アクティブの秒数を指定します。
- 有効な値
0
またはNULL
より大きい整数:60
未満の値を設定することは許可されていますが、ウェアハウスを一時停止するバックグラウンドプロセスは約60秒ごとに実行されるため、望ましい、または期待される動作にならない場合があります。したがって、ウェアハウスの一時停止を正確に制御できるようにすることを目的としていません。NULL
値を設定すると、ウェアハウスが一時停止されることはなくなります。
- デフォルト
600
(ウェアハウスは、10分の非アクティブ後に自動的に一時停止します)
重要
クエリのワークロードが継続的に実行されるウェアハウスを必要としない限り、
AUTO_SUSPEND
の値をNULL
に設定することは推奨 しません。これにより、特に大規模なウェアハウスでは、クレジット(および対応する料金)が大幅に消費されることに注意してください。詳細については、 ウェアハウスに関する考慮事項 をご参照ください。
AUTO_RESUME = TRUE | FALSE
SQLステートメント(クエリなど)の送信時にウェアハウスを自動的に再開するかどうかを指定します。
FALSE
の場合、ウェアハウスは ALTER WAREHOUSE を使って、またはSnowflakeウェブインターフェイス経由で明示的に再開された場合にのみ再起動します。- 有効な値
TRUE
: 新しいクエリが送信されると、ウェアハウスが再開します。FALSE
:ウェアハウスは、 ALTER WAREHOUSE またはSnowflakeウェブインターフェイスを使用して明示的に再開された場合にのみ再開します。
- デフォルト
TRUE
(ウェアハウスは SQL ステートメントが送信されると自動的に再開します)
INITIALLY_SUSPENDED = TRUE | FALSE
ウェアハウスを変更する場合は適用されません
RESOURCE_MONITOR = rm_name
ウェアハウスに明示的に割り当てられているリソースモニターの識別子を指定します。リソースモニターがウェアハウスに明示的に割り当てられている場合、モニターはウェアハウス(およびモニターが割り当てられている他のすべてのウェアハウス)が使用する月間クレジットを制御します。
- 有効な値
既存のリソースモニター。
詳細については、 リソースモニターの操作 をご参照ください。
- デフォルト
値なし(ウェアハウスにリソースモニターが割り当てられていない)
ちなみに
すべてのリソースモニターとその識別子を表示するには、 SHOW RESOURCE MONITORS コマンドを使用します。
COMMENT = '文字列リテラル'
ウェアハウスにコメントを追加するか、既存のコメントを上書きします。
MAX_CONCURRENCY_LEVEL = 数値
ウェアハウスクラスターによって実行されるSQLステートメント(つまり、クエリおよびDML)の同時実行レベルを指定するオブジェクトパラメーター。レベルに達したとき:
単一クラスターウェアハウスまたはマルチクラスターウェアハウス(最大化モード)の場合、リソースが使用可能になるまで追加のステートメントがキューに入れられます。
マルチクラスターウェアハウスの場合(自動スケールモード)、追加のクラスターが開始されます。
このパラメーターを
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS
と組み合わせて使用すると、ウェアハウスがバックログされることがなくなります。このパラメーターの詳細については、 MAX_CONCURRENCY_LEVEL をご参照ください。
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = 数値
SQLステートメント(クエリ、DDL、DMLなど)がシステムによりキャンセルされる前に、ウェアハウスのキューに入れることができる時間を秒単位で指定するオブジェクトパラメーター。
このパラメーターを
MAX_CONCURRENCY_LEVEL
と組み合わせて使用すると、ウェアハウスがバックログされることがなくなります。このパラメーターの詳細については、 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS をご参照ください。
STATEMENT_TIMEOUT_IN_SECONDS = 数値
実行中のSQLステートメント(クエリ、DDL、DMLなど)がシステムによってキャンセルされるまでの時間を秒単位で指定するオブジェクトパラメーター。
このパラメーターの詳細については、 STATEMENT_TIMEOUT_IN_SECONDS をご参照ください。
UNSET ...
データベースの設定を解除する1つ(または複数)のプロパティ、パラメーター、またはその両方を指定します。これにより、デフォルトにリセットされます。
プロパティ名
パラメーター名
単一のALTERステートメントで複数のプロパティ/パラメーターをリセットできます。ただし、各プロパティ/パラメーターはカンマで区切る 必要があります。また、プロパティ/パラメーターをリセットするときは、名前のみを指定します。値は必要ありません。
注釈
UNSET
はウェアハウスのすべてのプロパティとパラメーターの設定を解除するために使用できますが、WAREHOUSE_SIZE
のみは 例外 で、SET
を使ってのみ変更できます。
使用上の注意¶
ウェアハウスは、サイズなどのプロパティを設定または変更するために停止する 必要はありません。
ウェアハウスのサイズが変更されても、その変更はクエリを含む現在実行中のステートメントには影響しません。ステートメントが完了すると、後続のすべてのステートメントに新しいサイズが使用されます。
ウェアハウスを一時停止しても、一時停止時にウェアハウスで処理されているクエリは 中止されません。代わりに、ウェアハウスはクエリを完了し、クエリの処理に使用されたサーバーをシャットダウンします。この期間中、ウェアハウスとそのサーバーは 休止処理中 モードになっています。すべてのサーバーがシャットダウンされると、ウェアハウスの状況は「一時停止中」に変わります。
例¶
ウェアハウスの名前を wh1
から wh2
に変更します。
ALTER WAREHOUSE IF EXISTS wh1 RENAME TO wh2;
my_wh
という名前のウェアハウスを再開し、実行中にウェアハウスのサイズを変更します。
ALTER WAREHOUSE my_wh RESUME; ALTER WAREHOUSE my_wh SET warehouse_size=MEDIUM;