Verwenden von Warehouses¶
Alle Warehouse-Aufgaben können über die Snowflake-Weboberfläche oder die DDL-Befehle für Warehouses ausgeführt werden.
Unter diesem Thema:
Erstellen eines Warehouse¶
Ein Warehouse kann über die Weboberfläche oder mit SQLerstellt werden:
- Classic Console
- SQL
Führen Sie einen CREATE WAREHOUSE-Befehl aus.
Beim Erstellen eines Warehouses können Sie angeben, ob das Warehouse zunächst im Status „Gestartet“ (d. h. es wird ausgeführt) oder „Angehalten“ erstellt werden soll. Wenn Sie „Gestartet“ wählen, beginnt das Warehouse mit dem Verbrauch von Credits, sobald alle Computeressourcen für das Warehouse bereitgestellt wurden.
Bemerkung
Wenn Sie sich für das Erstellen eines Warehouses im Status „Gestartet“ entscheiden, kann es einige Zeit dauern, bis das Warehouse vollständig verfügbar ist, da Snowflake alle Computeressourcen für das Warehouse bereitstellt.
Starten/Fortsetzen eines Warehouses¶
Ein Warehouse kann jederzeit gestartet werden, einschließlich beim erstmaligen Erstellen. Wenn ein Warehouse erstellt wurde, entspricht das Fortsetzen eines Warehouse dem Starten eines Warehouse.
Ein angehaltenes (d. h. inaktives) Warehouse kann über die Weboberfläche oder mit SQL fortgesetzt werden:
- Classic Console
Klicken Sie auf Warehouses
» <Name_des_angehaltenen_Warehouse> » Resume
- SQL
Führen Sie einen ALTER WAREHOUSE-Befehl mit dem Schlüsselwort
RESUME
aus.
Das Starten eines Warehouses dauert normalerweise nur wenige Sekunden. In seltenen Fällen kann es jedoch länger dauern, da Snowflake die Computeressourcen für das Warehouse bereitstellen muss.
Warehouses verbrauchen während ihrer Ausführung Credits:
Ein Warehouse beginnt mit dem Verbrauch von Credits, sobald alle Computeressourcen für das Warehouse bereitgestellt wurden.
In seltenen Fällen, in denen einige Server nicht bereitgestellt werden können, verbraucht das Warehouse nur Credits für die bereitgestellten Computeressourcen.
Sobald die verbleibenden Computeressourcen erfolgreich bereitgestellt wurden, verbraucht das Warehouse Credits für alle angeforderten Computeressourcen.
Das Starten oder Fortsetzen eines Warehouses dauert meist nur wenige Sekunden. In einigen Fällen kann es jedoch länger dauern, da Snowflake die Computeressourcen für das Warehouse bereitstellen muss.
Snowflake beginnt mit der Ausführung von SQL-Anweisungen, die an ein Warehouse übermittelt wurden, erst, wenn alle Computeressourcen für das Warehouse erfolgreich bereitgestellt wurden, es sei denn, auf einer der Ressourcen kann Folgendes nicht bereitgestellt werden:
Wenn Computeressourcen für das Warehouse während des Startens nicht bereitgestellt werden, versucht Snowflake, den oder die ausgefallenen Ressourcen zu reparieren.
Während des Reparaturvorgangs beginnt das Warehouse mit der Verarbeitung von SQL-Anweisungen, sobald 50 % oder mehr der angeforderten Computeressourcen erfolgreich bereitgestellt wurden.
Credits werden während der Ausführung des Warehouses sekundengenau abgerechnet, wobei bei jedem Fortsetzen des Warehouses minimal 1 Minute abgerechnet wird. Die Credit-Nutzung wird jedoch in Schritten von 60 Minuten (d. h. stundenweise) angegeben.
Bemerkung
Ein Warehouse muss gestartet/ausgeführt werden, um in einer Sitzung übermittelte SQL-Anweisungen zu verarbeiten. Das Warehouse muss jedoch auch als aktuelles Warehouse für die Sitzung angegeben werden. Weitere Informationen dazu finden Sie unter Verwenden eines Warehouse (unter diesem Thema).
Anhalten eines Warehouse¶
Ein ausgeführtes (d. h. Status „Gestartet“) Warehouse kann jederzeit angehalten werden, auch wenn gerade SQL-Anweisungen ausgeführt werden. Durch das Anhalten eines Warehouses werden die zugehörigen Computeressourcen heruntergefahren und keine Credits mehr verbraucht.
Ein Warehouse kann über die Weboberfläche oder mit SQL angehalten werden:
- Classic Console
Klicken Sie auf Warehouses
» <Name_des_gestarteten_Warehouse> » Suspend
- SQL
Führen Sie einen ALTER WAREHOUSE-Befehl mit dem Schlüsselwort
SUSPEND
aus.
Wenn Sie ein Warehouse anhalten, fährt Snowflake sofort alle im Leerlauf befindlichen Computeressourcen des Warehouses herunter, lässt jedoch zu, dass alle Computeressourcen, die Anweisungen ausführen, so lange fortgesetzt werden, bis die Anweisungen abgeschlossen sind. Dann werden auch diese Ressourcen heruntergefahren, und der Status des Warehouse wird in „Angehalten“ geändert. Computeressourcen, die auf das Herunterfahren warten, befinden sich im Ruhemodus („Stilllegung“).
Ändern der Warehouse-Größe¶
Die Größe eines Warehouse kann jederzeit hoch- oder runterskaliert werden, auch während das Warehouse ausgeführt und Anweisungen verarbeitet werden.
Die Größe eines Warehouse kann über die Weboberfläche oder mit SQL geändert werden:
- Classic Console
- SQL
Führen Sie einen ALTER WAREHOUSE-Befehl mit
SET WAREHOUSE_SIZE = ...
aus.
Das Ändern eines Warehouse auf eine größere Größe ist hilfreich, wenn die vom Warehouse ausgeführten Operationen von mehr Computeressourcen profitieren sollen, einschließlich:
Verbessern der Leistung großer, komplexer Abfragen bei großen Datasets
Verbesserung der Leistung beim Laden und Entladen besonders umfangreicher Datenmengen
Auswirkungen der Größenänderung eines aktiven Warehouses¶
Durch die Größenänderung eines aktiven Warehouses werden Computeressourcen in jedem Cluster des Warehouses hinzugefügt oder entfernt. Alle mit dem Starten oder Anhalten eines Warehouses verbundenen Nutzungs- und Credit-Regeln gelten für die Größenänderung eines gestarteten Warehouses, z. B.:
Computeressourcen, die zu einem Warehouse hinzugefügt werden, verbrauchen bereits bei der Bereitstellung Credits. Die zusätzlichen Computeressourcen beginnen jedoch erst dann mit der Ausführung von Anweisungen, wenn alle Ressourcen bereitgestellt wurden.
Computeressourcen werden nur dann aus einem Warehouse entfernt, wenn sie nicht mehr zur Ausführung aktueller Anweisungen benötigt werden.
Die Größenänderung eines Warehouses hat keine Auswirkungen auf Anweisungen, die derzeit vom Warehouse ausgeführt werden. Bei der Größenänderung auf eine größere Größe werden die neuen Computeressourcen nach ihrer vollständigen Bereitstellung nur dazu verwendet, die Anweisungen auszuführen, die sich bereits in der Warehouse-Warteschlange befinden, sowie alle zukünftigen Anweisungen, die an das Warehouse übermittelt werden.
Tipp
Um zu überprüfen, ob die zusätzlichen Computeressourcen für Ihr Warehouse vollständig bereitgestellt wurden, fügen Sie den Parameter WAIT_FOR_COMPLETION
zum Befehl ALTER WAREHOUSE hinzu. Sie können auch SHOW WAREHOUSES verwenden, um dessen state
-Wert zu prüfen.
Auswirkungen der Größenänderung eines angehaltenen Warehouses¶
Durch die Größenänderung eines angehaltenen Warehouse werden keine neuen Computeressourcen für das Warehouse bereitgestellt. Snowflake wird lediglich angewiesen, die zusätzlichen Computeressourcen bereitzustellen, wenn das Warehouse wieder fortgesetzt wird. Zu diesem Zeitpunkt gelten alle mit dem Starten eines Warehouse verbundenen Nutzungs- und Credit-Regeln.
Verwenden eines Warehouses¶
Um eine Abfrage oder eine DML-Anweisung in Snowflake ausführen zu können, muss sich ein Warehouse in Ausführung befinden, und dieses Warehouse muss als das aktuelle Warehouse der Sitzung angegeben sein, in der die Abfrage/Anweisung übermittelt wird.
Eine Snowflake-Sitzung kann jeweils nur ein aktuelles Warehouse haben. Das aktuelle Warehouse für eine Sitzung kann jederzeit mit dem Befehl USE WAREHOUSE angegeben oder geändert werden.
Wenn ein aktives Warehouse als das aktuelle Warehouse einer Sitzung festgelegt wurde, werden von diesem alle Abfragen und DML-Anweisungen verarbeitet, die innerhalb der Sitzung übermittelt werden. Auf den Seiten History und Worksheets
der klassischen Weboberfläche können Sie das Warehouse anzeigen, das für die Verarbeitung der einzelnen Abfragen/Anweisungen verwendet wird.