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:

Weboberfläche

Klicken Sie auf Warehouses Warehouses tab » Create.

SQL

Führen Sie einen CREATE WAREHOUSE-Befehl aus.

Beim Erstellen eines Warehouse können Sie angeben, ob das Warehouse zunächst im Status „Gestartet“ (d. h. wird ausgeführt) oder „Angehalten“ erstellt werden soll. Wenn Sie „Gestartet“ wählen, beginnt das Warehouse mit dem Verbrauch von Credits, sobald alle Server für das Warehouse bereitgestellt wurden.

Bemerkung

Wenn Sie sich für das Erstellen eines Warehouse im Status „Gestartet“ entscheiden, kann es einige Zeit dauern, bis das Warehouse vollständig verfügbar ist, da Snowflake alle Server für das Warehouse bereitstellt.

Starten/Fortsetzen eines Warehouse

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:

Weboberfläche

Klicken Sie auf Warehouses Warehouses tab » <Name_des_angehaltenen_Warehouse> » Resume

SQL

Führen Sie einen ALTER WAREHOUSE-Befehl mit dem Schlüsselwort RESUME aus.

Das Starten eines Warehouse dauert normalerweise nur wenige Sekunden. In seltenen Fällen kann es jedoch länger dauern, da Snowflake die Server mit den 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 Server 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 Server.

    • Sobald die verbleibenden Server erfolgreich bereitgestellt wurden, verbraucht das Warehouse Credits für alle angeforderten Server.

  • Das Starten oder Fortsetzen eines Warehouse dauert meist nur wenige Sekunden. In einigen Fällen kann es jedoch länger dauern, da Snowflake die Server mit den 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 Server für das Warehouse erfolgreich bereitgestellt wurden, es sei denn, auf einem der Server kann Folgendes nicht bereitgestellt werden:

    • Wenn einer der Server für das Warehouse während des Startens nicht bereitgestellt wird, versucht Snowflake, den oder die ausgefallenen Server zu reparieren.

    • Während des Reparaturvorgangs beginnt das Warehouse mit der Verarbeitung von SQL-Anweisungen, sobald 50 % oder mehr der angeforderten Server erfolgreich bereitgestellt wurden.

Credits werden während der Ausführung des Warehouse sekundengenau abgerechnet, wobei bei jedem Fortsetzen des Warehouse 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 Warehouse werden die zugehörigen Server heruntergefahren und keine Credits mehr verbraucht.

Ein Warehouse kann über die Weboberfläche oder mit SQL angehalten werden:

Weboberfläche

Klicken Sie auf Warehouses Warehouses tab » <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 Server des Warehouse herunter, lässt jedoch zu, dass alle Server, die Anweisungen ausführen, so lange fortgesetzt werden, bis die Anweisungen abgeschlossen sind. Dann werden auch diese Server heruntergefahren, und der Status des Warehouse wird in „Angehalten“ geändert. Server, die auf das Herunterfahren warten, befinden sich im Ruhemodus.

Ä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:

Weboberfläche

Klicken Sie auf Warehouses Warehouses tab » <Warehouse-Name> » Configure

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 Warehouse

Durch die Größenänderung eines aktiven Warehouse werden Server in jedem Cluster im Warehouse hinzugefügt oder entfernt. Alle mit dem Starten oder Anhalten eines Warehouse verbundenen Nutzungs- und Credit-Regeln gelten für die Größenänderung eines gestarteten Warehouse, z. B.:

  • Server, die zu einem Warehouse hinzugefügt werden, verbrauchen bereits bei der Bereitstellung Credits. Die zusätzlichen Server beginnen jedoch erst dann mit der Ausführung von Anweisungen, wenn alle Server bereitgestellt wurden.

  • Server werden nur dann aus einem Warehouse entfernt, wenn die Server nicht mehr zur Ausführung aktueller Anweisungen benötigt werden.

Die Größenänderung eines Warehouse 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 Server nur dazu verwendet, Anweisungen auszuführen, die sich bereits in der Warehouse-Warteschlange befinden, sowie alle zukünftigen Anweisungen, die an das Warehouse übermittelt werden.

Auswirkungen der Größenänderung eines angehaltenen Warehouses

Durch die Größenänderung eines angehaltenen Warehouse werden keine neuen Server für das Warehouse bereitgestellt. Snowflake wird lediglich angewiesen, die zusätzlichen Server bereitzustellen, wenn das Warehouse wieder fortgesetzt wird. Zu diesem Zeitpunkt gelten alle mit dem Starten eines Warehouse verbundenen Nutzungs- und Credit-Regeln.

Verwenden eines Warehouse

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 History tab und Worksheets Worksheet tab der Snowflake-Weboberfläche können Sie das Warehouse anzeigen, das für die Verarbeitung der einzelnen Abfragen/Anweisungen verwendet wird.