カテゴリ:

ウェアハウスとリソースモニター DDL

CREATE WAREHOUSE

システムに新しい 仮想ウェアハウス を作成します。

ウェアハウスが最初に SUSPENDED 状態で作成されていない限り、仮想ウェアハウスの初期作成では、コンピューティングリソースのプロビジョニングに時間がかかる場合があります。

こちらもご参照ください。

ALTER WAREHOUSEDESCRIBE WAREHOUSEDROP WAREHOUSESHOW WAREHOUSES

構文

CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
        [ [ WITH ] objectProperties ]
        [ objectParams ]

条件:

objectProperties ::=
  WAREHOUSE_TYPE = STANDARD | SNOWPARK-OPTIMIZED
  WAREHOUSE_SIZE = XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE
  MAX_CLUSTER_COUNT = <num>
  MIN_CLUSTER_COUNT = <num>
  SCALING_POLICY = STANDARD | ECONOMY
  AUTO_SUSPEND = <num> | NULL
  AUTO_RESUME = TRUE | FALSE
  INITIALLY_SUSPENDED = TRUE | FALSE
  RESOURCE_MONITOR = <monitor_name>
  COMMENT = '<string_literal>'
  ENABLE_QUERY_ACCELERATION = TRUE | FALSE
  QUERY_ACCELERATION_MAX_SCALE_FACTOR = <num>
objectParams ::=
  MAX_CONCURRENCY_LEVEL = <num>
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]

必須パラメーター

name

仮想ウェアハウスの識別子。アカウントに対して一意である必要があります。

また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

オプションのプロパティ(objectProperties

WAREHOUSE_TYPE = STANDARD | SNOWPARK-OPTIMIZED

ウェアハウスのタイプを指定します。

有効な値
  • STANDARD: 標準の仮想ウェアハウス。

  • SNOWPARK-OPTIMIZED: Snowpark用に最適化された仮想ウェアハウス。

デフォルト

STANDARD

WAREHOUSE_SIZE = XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE

仮想ウェアハウスのサイズを指定します。サイズは、ウェアハウス内にある各クラスターのコンピューティングリソースの量を決定するため、ウェアハウスの稼働中に消費されるクレジットの数を決定します。

有効な値

サポートされている 値

同義語

XSMALL

'X-SMALL'

SMALL

MEDIUM

LARGE

XLARGE

'X-LARGE'

XXLARGE

X2LARGE'2X-LARGE'

XXXLARGE

X3LARGE'3X-LARGE'

X4LARGE

'4X-LARGE'

X5LARGE

'5X-LARGE'

X6LARGE

'6X-LARGE'

デフォルト

XSMALL

注釈

  • XSMALL、 SMALL、 X5LARGE、および X6LARGE サイズは、Snowpark用に最適化されたウェアハウスをサポートしていません。Snowparkに最適化されたウェアハウスのデフォルトサイズは MEDIUM です。

  • ハイフンを含む値(例: '2X-LARGE')を使用するには、示されているように、値を一重引用符で囲む必要があります。

MAX_CLUSTER_COUNT = num

マルチクラスターウェアハウスに対するクラスターの最大数を指定します。単一クラスターのウェアハウスの場合、この値は常に 1 です。

有効な値

110

1 より大きい値を指定すると、ウェアハウスがマルチクラスターウェアハウスであることを示します。ただし、値は Snowflake Enterprise Edition (またはそれ以上)のみで、より高い値に設定できます。

詳細については、 マルチクラスターウェアハウス をご参照ください。

デフォルト

1 (単一クラスターウェアハウス)

ちなみに

Snowflake Enterprise Edition(またはそれ以上)の場合、マルチクラスターウェアハウスの高可用性と最適なパフォーマンスを維持するために、常に 1 より大きい値を設定することをお勧めします。また、これにより、万一クラスターに障害が発生した場合の継続性を確保できます。

MIN_CLUSTER_COUNT = num

マルチクラスターウェアハウスに対するクラスターの最小数を指定します(マルチクラスターウェアハウスにのみ適用)。

有効な値

110

ただし、 MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 以下である必要があることに注意してください。

  • 両方のパラメーターが等しい場合、ウェアハウスは 最大化 モードで実行されます。

  • MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 未満の場合、ウェアハウスは 自動スケール モードで実行されます。

詳細については、 マルチクラスターウェアハウス をご参照ください。

デフォルト

1

SCALING_POLICY = STANDARD | ECONOMY

自動スケールモードで実行されているマルチクラスターウェアハウスでクラスターを自動的に開始、およびシャットダウンするためのポリシーを指定します。

有効な値
  • STANDARD :クラスターを開始することにより、キューイングを最小限にします。

  • ECONOMY :実行中のクラスターを完全にロードしたままにしておくことにより、クレジットを節約します。

詳細については、 マルチクラスターウェアハウスのスケーリングポリシーの設定 をご参照ください。

デフォルト

STANDARD

AUTO_SUSPEND = num | NULL

ウェアハウスが自動的に中断されるまでの非アクティブの秒数を指定します。

有効な値

任意の整数 0 以上、または NULL:

  • 60 未満の値を設定することは許可されていますが、ウェアハウスを一時停止するバックグラウンドプロセスは約60秒ごとに実行されるため、多くの場合、望ましい、または期待される動作にはなりません。したがって、ウェアハウスの一時停止を正確に制御できるようにすることを目的としていません。

  • 0 または NULL 値を設定すると、ウェアハウスが一時停止されることはなくなります。

デフォルト

600 (ウェアハウスは、10分の非アクティブ後に自動的に一時停止します)

重要

クエリのワークロードが継続的に実行されるウェアハウスを必要としない限り、 AUTO_SUSPEND の値を 0 または NULL に設定することは推奨 しません。これにより、特に大規模なウェアハウスでは、クレジット(および対応する料金)が大幅に消費されることに注意してください。

AUTO_RESUME = TRUE | FALSE

SQLステートメント(クエリなど)の送信時にウェアハウスを自動的に再開するかどうかを指定します。

有効な値
  • TRUE :新しいクエリが送信されると、ウェアハウスが再開します。

  • FALSE :ウェアハウスは、 ALTER WAREHOUSE またはSnowflakeウェブインターフェイスを使用して明示的に再開された場合にのみ再開します。

デフォルト

TRUE (ウェアハウスは SQL ステートメントが送信されると自動的に再開します)

INITIALLY_SUSPENDED = TRUE | FALSE

ウェアハウスが最初に「一時停止」状態で作成されるかどうかを指定します。

有効な値
  • TRUE :ウェアハウスは作成されますが、中断されます。

  • FALSE :ウェアハウスは、作成後に実行を開始します。

デフォルト

FALSE

RESOURCE_MONITOR = string

ウェアハウスに明示的に割り当てられているリソースモニターの名前を指定します。リソースモニターがウェアハウスに明示的に割り当てられている場合、モニターはウェアハウス(およびモニターが割り当てられている他のすべてのウェアハウス)が使用する月間クレジットを制御します。

有効な値

既存のリソースモニター。

詳細については、 リソースモニターの操作 をご参照ください。

デフォルト

値なし(ウェアハウスにリソースモニターが割り当てられていない)

ちなみに

すべてのリソースモニターとその識別子を表示するには、 SHOW RESOURCE MONITORS コマンドを使用します。

COMMENT = 'string_literal'

ウェアハウスのコメントを指定します。

Query Accelerationのプロパティ

ENABLE_QUERY_ACCELERATION = TRUE | FALSE

コンピューティングリソースをこのウェアハウスに依存しているクエリに対して、 クエリアクセラレーションサービス を有効にするかどうかを指定します。

有効な値
  • TRUE Query Accelerationを有効にします

  • FALSE Query Accelerationを無効にします

デフォルト

FALSE: Query Accelerationが無効になっています

QUERY_ACCELERATION_MAX_SCALE_FACTOR = num

クエリアクセラレーション用のコンピューティングリソースをリースするための最大スケールファクターを指定します。スケールファクターは、 ウェアハウスサイズ に基づく乗数として使用されます。たとえば、ウェアハウスに対して QUERY_ACCELERATION_MAX_SCALE_FACTOR = 2の場合、そのウェアハウスは、クエリアクセラレーションで使用するコンピューティングリソースサイズの最大2倍までの量をリースできます。クエリアクセラレーションサービスはウェアハウスのクレジット消費率を高める可能性があるため、最大スケールファクターは消費率を制限するのに役立ちます。

QUERY_ACCELERATION_MAX_SCALE_FACTOR を0に設定すると、制限がなくなり、クエリが必要な数のリソースをリースし、クエリの処理に使用できるようになります。

QUERY_ACCELERATION_MAX_SCALE_FACTOR の値に関係なく、クエリアクセラレーションに使用できるコンピューティングリソースの量は、サービスで使用可能なリソースと、他の同時リクエストの数によって制限されます。サービスのためにリクエストされるリソースの量は、アクセラレーションの対象となるクエリの量と、それに応答するために処理されるデータの量によって異なります。

有効な値

0100

デフォルト

8

オプションのパラメーター(objectParams

MAX_CONCURRENCY_LEVEL = num

ウェアハウスクラスターによって実行されるSQLステートメント(つまり、クエリおよびDML)の同時実行レベルを指定するオブジェクトパラメーター。

このパラメーターの詳細については、 MAX_CONCURRENCY_LEVEL をご参照ください。

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num

SQLステートメント(クエリ、DDL、DMLなど)がシステムによりキャンセルされる前に、ウェアハウスのキューに入れることができる時間を秒単位で指定するオブジェクトパラメーター。

このパラメーターの詳細については、 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS をご参照ください。

STATEMENT_TIMEOUT_IN_SECONDS = num

実行中のSQLステートメント(クエリ、DDL、DMLなど)がシステムによってキャンセルされるまでの時間を秒単位で指定するオブジェクトパラメーター。

このパラメーターの詳細については、 STATEMENT_TIMEOUT_IN_SECONDS をご参照ください。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントにあるタグの指定の詳細については、 オブジェクトおよび列のタグクォータ をご参照ください。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

CREATE WAREHOUSE

アカウント

Only the SYSADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 Snowflakeのアクセス制御 をご参照ください。

使用上の注意

  • 仮想ウェアハウスを作成すると、現在のセッション用にアクティブ/現在のウェアハウスとして自動的に設定されます(ウェアハウスで USE WAREHOUSE コマンドを使用するのと同等)。

  • メタデータについて。

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

  • OR REPLACE の使用は、既存のウェアハウスで DROP WAREHOUSE を使用してから、同じ名前で新しいウェアハウスを作成することと同じです。

    CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、古いオブジェクトの削除と新しいオブジェクトの作成が1つのトランザクションで処理されます。

    ドロップしたウェアハウスで実行されているすべてのクエリは中止されます。

  • Snowpark用に最適化された仮想ウェアハウスの初期作成と再開には、標準のウェアハウスよりも時間がかかる場合があります。

  • Snowpark用に最適化されたウェアハウスは、 Query Acceleration をサポートしていません。

  • Snowpark用に最適化されたウェアハウスは、 XSMallSMALLX5LARGE、または X6LARGE のウェアハウスサイズではサポートされていません。

XLウェアハウスを作成します。

CREATE OR REPLACE WAREHOUSE my_wh WITH WAREHOUSE_SIZE='X-LARGE';

一時停止状態でLウェアハウスを作成します。

CREATE OR REPLACE WAREHOUSE my_wh WAREHOUSE_SIZE=LARGE INITIALLY_SUSPENDED=TRUE;
最上部に戻る