CREATE WAREHOUSE¶
Erstellt ein neues virtuelles Warehouse im System.
Die anfängliche Erstellung eines Warehouse kann einige Zeit in Anspruch nehmen, um die Computeressourcen bereitzustellen, es sei denn, das Warehouse wird so eingestellt, dass es zunächst in einem SUSPENDED
-Status erstellt wird.
- Siehe auch:
ALTER WAREHOUSE, DESCRIBE WAREHOUSE, DROP WAREHOUSE, SHOW WAREHOUSES
Syntax¶
CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
[ [ WITH ] objectProperties ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ objectParams ]
Wobei:
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>
Erforderliche Parameter¶
name
Bezeichner für das virtuelle Warehouse. Dieser muss für Ihr Konto eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
Optionale Eigenschaften (objectProperties
)¶
WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
Gibt den Warehouse-Typ an.
- Gültige Werte:
STANDARD
,'STANDARD'
'SNOWPARK-OPTIMIZED'
- Standard:
STANDARD
Bemerkung
Um einen Wert zu verwenden, der einen Bindestrich enthält (
'SNOWPARK-OPTIMIZED'
), müssen Sie den Wert wie dargestellt in einfache Anführungszeichen setzen.WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
Gibt die Größe des virtuellen Warehouses an. Die Größe bestimmt über die Anzahl der Computeressourcen in jedem Cluster des Warehouses und damit über die Anzahl der verbrauchten Credits während des Warehouse-Betriebs.
- Gültige Werte:
Unterstützte -Werte
Synonyme
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'
- Standard:
XSMALL
Bemerkung
Die Größen XSMALL, SMALL, X5LARGE und X6LARGE unterstützen keine Snowpark-optimierten Warehouses. Die Standardgröße für Snowpark-optimierte Warehouses ist MEDIUM.
Um einen Wert zu verwenden, der einen Bindestrich enthält (
'2X-LARGE'
), müssen Sie den Wert wie dargestellt in einfache Anführungszeichen setzen.
MAX_CLUSTER_COUNT = num
Gibt die maximale Anzahl von Clustern für ein Multi-Cluster-Warehouse an. Für ein Einzel-Cluster-Warehouse ist dieser Wert immer
1
.- Gültige Werte:
1
bis10
Wenn Sie einen Wert größer als
1
angeben, handelt es sich bei dem Warehouse um ein Multi-Cluster-Warehouse. Der Wert kann jedoch nur in der Snowflake Enterprise Edition (oder höher) auf einen höheren Wert gesetzt werden.Weitere Informationen dazu finden Sie unter Multi-Cluster-Warehouses.
- Standard:
1
(Einzelcluster-Warehouse)
Tipp
Bei der Snowflake Enterprise Edition (oder höher) empfehlen wir, stets einen Wert größer als
1
festzulegen, um die Hochverfügbarkeit und optimale Leistung eines Multi-Cluster-Warehouses zu erhalten. Dies trägt auch dazu bei, die Kontinuität im unwahrscheinlichen Fall eines Clusterausfalls sicherzustellen.MIN_CLUSTER_COUNT = num
Gibt die minimale Anzahl von Clustern für ein Multi-Cluster-Warehouse an (gilt nur für Multi-Cluster-Warehouses).
- Gültige Werte:
1
bis10
Beachten Sie jedoch, dass
MIN_CLUSTER_COUNT
gleich oder kleiner sein muss alsMAX_CLUSTER_COUNT
:Wenn beide Parameter gleich sind, wird das Warehouse im Modus Maximiert ausgeführt.
Wenn
MIN_CLUSTER_COUNT
kleiner alsMAX_CLUSTER_COUNT
ist, wird das Warehouse im Modus Automatische Skalierung ausgeführt.
Weitere Informationen dazu finden Sie unter Multi-Cluster-Warehouses.
- Standard:
1
SCALING_POLICY = { STANDARD | ECONOMY }
Legt die Richtlinie für das automatische Starten und Herunterfahren von Clustern in einem Multi-Cluster-Warehouse fest, das im Modus „Automatische Skalierung“ ausgeführt wird.
- Gültige Werte:
STANDARD
: Minimiert Warteschlangen durch Starten von Clustern.ECONOMY
: Spart Credits, indem vorzugsweise dafür gesorgt wird, dass aktive Cluster voll ausgelastet bleiben.
Eine ausführlichere Beschreibung finden Sie unter Einstellen der Skalierungsrichtlinie für ein Multi-Cluster-Warehouse.
- Standard:
STANDARD
AUTO_SUSPEND = { num | NULL }
Gibt die Anzahl der Sekunden der Inaktivität an, nach der ein Warehouse automatisch angehalten wird.
- Gültige Werte:
Beliebige Ganzzahl
0
oder größer, oderNULL
:Das Festlegen eines Wertes kleiner als
60
ist erlaubt, führt aber möglicherweise nicht zu dem erwünschten/erwarteten Verhalten, weil der Hintergrundprozess, der ein Warehouse anhält, etwa alle 60 Sekunden ausgeführt wird und daher nicht dazu gedacht ist, eine genaue Kontrolle über das Anhalten des Warehouses zu ermöglichen.Wenn Sie einen Wert von
0
oderNULL
festlegen, wird das Warehouse niemals angehalten.
- Standard:
600
(das Warehouse wird nach 10 Minuten Inaktivität automatisch angehalten)
Wichtig
Das Einstellen von
AUTO_SUSPEND
auf0
oderNULL
wird nicht empfohlen, es sei denn, für Ihre Abfrageworkloads ist ein kontinuierlich ausgeführtes Warehouse erforderlich. Beachten Sie, dass dies zu einem erheblichen Verbrauch von Credits (und entsprechenden Gebühren) führen kann, insbesondere bei größeren Warehouses.AUTO_RESUME = { TRUE | FALSE }
Gibt an, ob ein Warehouse automatisch fortgesetzt werden soll, wenn ihm eine SQL-Anweisung (z. B. Abfrage) übermittelt wird.
- Gültige Werte:
TRUE
: Das Warehouse wird fortgesetzt, wenn eine neue Abfrage gesendet wird.FALSE
: Das Warehouse startet erst wieder, wenn es mit ALTER WAREHOUSE oder über die Snowflake-Weboberfläche explizit fortgesetzt wird.
- Standard:
TRUE
(das Warehouse wird automatisch fortgesetzt, wenn eine SQL-Anweisung an das Warehouse übermittelt wird)
INITIALLY_SUSPENDED = { TRUE | FALSE }
Gibt an, ob das Warehouse anfangs im Status „Angehalten“ erstellt wird.
- Gültige Werte:
TRUE
: Das Warehouse wird erstellt, aber angehalten.FALSE
: Das Warehouse wird ausgeführt, nachdem es erstellt wird.
- Standard:
FALSE
RESOURCE_MONITOR = monitor_name
Gibt den Namen eines Ressourcenmonitors an, der dem Warehouse explizit zugeordnet ist. Wenn ein Ressourcenmonitor explizit einem Warehouse zugeordnet ist, steuert der Monitor die monatlichen Credits, die vom Warehouse (und allen anderen Warehouses, denen der Monitor zugeordnet ist) verbraucht werden.
- Gültige Werte:
Beliebiger vorhandener Ressourcenmonitor.
Weitere Details dazu finden Sie unter Verwenden von Ressourcenmonitoren.
- Standard:
Kein Wert (dem Warehouse ist kein Ressourcenmonitor zugeordnet)
Tipp
Verwenden Sie den Befehl SHOW RESOURCE MONITORS, um alle Ressourcenmonitore und ihre Bezeichner anzuzeigen.
COMMENT = 'string_literal'
Gibt einen Kommentar für das Warehouse an.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.
Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.
Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente für Objekte und Spalten.
Query Acceleration-Eigenschaften¶
ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }
Gibt an, ob der Abfragebeschleunigungsdienst für Abfragen aktiviert werden soll, die auf dieses Warehouse für Computeressourcen angewiesen sind.
- Gültige Werte:
TRUE
aktiviert Query AccelerationFALSE
deaktiviert Query Acceleration
- Standard:
FALSE
: Query Acceleration ist deaktiviert
QUERY_ACCELERATION_MAX_SCALE_FACTOR = num
Gibt den maximalen Skalierungsfaktor für das Mieten von Computeressourcen für die Abfragebeschleunigung an. Der Skalierungsfaktor wird als Multiplikator auf Basis der Warehouse-Größe verwendet.
Wenn QUERY_ACCELERATION_MAX_SCALE_FACTOR auf 0 gesetzt wird, entfällt dieses Limit und die Abfragen können so viele Ressourcen mieten, wie nötig und verfügbar sind, um die Abfrage zu bedienen.
Unabhängig vom Wert für QUERY_ACCELERATION_MAX_SCALE_FACTOR ist die Menge der verfügbaren Computeressourcen für die Abfragebeschleunigung durch die verfügbaren Ressourcen des Dienstes und die Anzahl der von weiteren gleichzeitigen Anforderungen begrenzt. Weitere Informationen dazu finden Sie unter Anpassen des Skalierungsfaktors.
- Gültige Werte:
0
bis100
- Standard:
8
Optionale Parameter (objectParams
)¶
MAX_CONCURRENCY_LEVEL = num
Objektparameter, der den Parallelitätsgrad für SQL-Anweisungen (d. h. Abfragen und DML) angibt, die von einem Warehouse-Cluster ausgeführt werden.
Eine detaillierte Beschreibung dieses Parameters finden Sie unter MAX_CONCURRENCY_LEVEL.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num
Objektparameter, der die Zeit in Sekunden angibt, die eine SQL-Anweisung (Abfrage, DDL, DML usw.) in der Warteschlange eines Warehouses verbleiben kann, bevor sie vom System abgebrochen wird.
Eine detaillierte Beschreibung dieses Parameters finden Sie unter STATEMENT_QUEUED_TIMEOUT_IN_SECONDS.
STATEMENT_TIMEOUT_IN_SECONDS = num
Objektparameter, der die Zeit in Sekunden angibt, nach der eine aktive SQL-Anweisung (Abfrage, DDL, DML usw.) vom System abgebrochen wird.
Eine detaillierte Beschreibung dieses Parameters finden Sie unter STATEMENT_TIMEOUT_IN_SECONDS.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE WAREHOUSE |
Konto |
Only the SYSADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einem bestimmten Satz von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Durch das Erstellen eines virtuellen Warehouses wird es automatisch als aktives/aktuelles Warehouse für die aktuelle Sitzung festgelegt (entspricht der Verwendung des Befehls USE WAREHOUSE für das Warehouse).
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Die Verwendung von
OR REPLACE
ist gleichbedeutend mit der Verwendung von DROP WAREHOUSE auf dem vorhandenen Warehouse und dem anschließenden Erstellen eines neuen Warehouses mit demselben Namen.CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Alle Abfragen, die gerade auf dem gelöschten Warehouse ausgeführt werden, werden abgebrochen.
Das erstmalige Erstellen und das Fortsetzen eines Snowpark-optimierten virtuellen Warehouses können länger dauern als bei Standard-Warehouses.
Snowpark-optimierte Warehouses werden bei den Warehouse-Größen
XSMall
,SMALL
,X5LARGE
undX6LARGE
nicht unterstützt.
Beispiele¶
Erstellen Sie ein extra großes Warehouse:
CREATE OR REPLACE WAREHOUSE my_wh WITH WAREHOUSE_SIZE='X-LARGE';
Erstellen Sie ein großes Warehouse im angehaltenen Status:
CREATE OR REPLACE WAREHOUSE my_wh WAREHOUSE_SIZE=LARGE INITIALLY_SUSPENDED=TRUE;