Verwalten von Computepools

Ein Computepool ist eine Sammlung von einem oder mehreren virtuellen VM-Knoten (virtuelle Maschinen), auf denen Snowflake Ihre Snowpark Container Services-Jobs und -Dienste ausführt.

Weitere Informationen zu Computepools finden Sie unter Snowpark Container Services: Verwenden von Computepools.

Unter diesem Thema erfahren Sie, wie Sie die folgenden Aufgaben mit Diensten durchführen können:

Für gängige Operationen, wie z. B. Auflisten oder Löschen, verwendet Snowflake CLI die Befehle snow object wie unter Verwalten von Snowflake-Objekten beschrieben.

Einen Computepool erstellen

Um einen Computepool mit dem Namen „pool_1“ zu erstellen, der aus zwei CPUs mit 4 GB Arbeitsspeicher besteht, geben Sie einen spcs pool create-Befehl ähnlich dem folgenden ein:

snow spcs compute-pool create "pool_1" --min-nodes 2 --max-nodes 2 --family "CPU_X64_XS"
Copy

Weitere Informationen über Instanzfamilien finden Sie unter dem SQL: codenowrap:CREATE COMPUTE POOL-Befehl.

Einen Computepool aus einer Projektdefinition erstellen

Sie können einen Computepool aus einer snowflake.yml-Projektdefinitionsdatei erstellen und dann den Befehl snow spcs compute-pool deploy ausführen.

Im Folgenden wird eine Beispiel für eine snowflake.yml-Projektdefinitionsdatei gezeigt:

definition_version: 2
entities:
  my_compute_pool:
    type: compute-pool
    identifier:
      name: my_compute_pool
    min_nodes: 1
    max_nodes: 2
    instance_family: CPU_X64_XS
    auto_resume: true
    initially_suspended: true
    auto_suspend_seconds: 60
    comment: "My compute pool"
    tags:
      - name: my_tag
        value: tag_value
Copy

Die folgende Tabelle beschreibt die Eigenschaften einer Computepool-Projektdefinition.

Eigenschaften der Computepool-Projektdefinition

Eigenschaft

Definition

type

erforderlich, string

Muss compute-pool sein.

Bezeichner

optional, string

Snowflake-Bezeichner für die Entität. Der Wert kann die folgenden Formen annehmen:

  • Zeichenfolge Bezeichnertext

    identifier: my-compute-pool
    
    Copy

    Es werden sowohl Bezeichner ohne Anführungszeichen als auch Bezeichner mit Anführungszeichen unterstützt. Um Bezeichner in Anführungszeichen zu verwenden, fügen Sie die umgebenden Anführungszeichen in den YAML-Wert ein (zum Beispiel: "My Compute Pool").

  • Objekt

    identifier:
      name: my-compute-pool
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    Bemerkung

    Ein Fehler tritt auf, wenn Sie ein schema oder eine database angeben und einen vollqualifizierten Namen in der name-Eigenschaft verwenden (z. B. mydb.schema1.my-app).

instance_family

erforderlich, string

Name des Instanzfamilie. Eine Liste der verfügbaren Instanzfamilien finden Sie unter dem Parameter CREATE COMPUTE POOL INSTANCE_FAMILY.

min_nodes

optional, string

Gibt die minimale Anzahl von Knoten im Computepool an. Dieser Wert muss größer als 0 sein.

Standard: 1

max_nodes

optional, int

Gibt die maximale Anzahl von Knoten im Computepool an.

auto_resume

optional, boolean

Ob ein Computepool automatisch fortgesetzt werden soll, wenn ein Dienst oder Job an ihn übermittelt wird.

Standard: True

initially_suspended

optional, boolean

Ob der Computepool anfangs im Status „Angehalten“ erstellt wird. Wenn true, stellt Snowflake zum Zeitpunkt der Erstellung des Computepools keine für den Computepool angeforderten Knoten bereit.

Standard: False

auto_suspend_seconds

optional, int

Anzahl der Sekunden der Inaktivität, nach denen Snowflake den Computepool automatisch anhalten soll.

Standard: 3600

comment

optional, string

Kommentare, die mit dem Computepool verknüpft werden sollen.

tags

optional, Tag-Sequenz

Tag-Namen und Werte für den Computepool. Weitere Informationen dazu finden Sie unter Tag-Kontingent für Objekte

Um den Computepool zu erstellen und in einem Stagingbereich bereitzustellen, gehen Sie wie folgt vor:

  1. Ändern Sie Ihr aktuelles Verzeichnis in das Verzeichnis, das die Projektdefinitionsdatei enthält.

  2. Führen Sie einen snow spcs compute-pool deploy-Befehl ähnlich dem folgenden aus:

    snow spcs compute-pool deploy
    
    Copy
    +---------------------------------------------------------------------+
    | key    | value                                                      |
    |--------+------------------------------------------------------------|
    | status | Compute pool MY_COMPUTE_POOL successfully created.         |
    +---------------------------------------------------------------------+
    

Computepool anhalten und fortsetzen

Bemerkung

Die aktuelle Rolle muss über die Berechtigung OPERATE für den Computepool verfügen, um ihn anhalten oder fortsetzen zu können.

Um einen Computepool anzuhalten, geben Sie einen Befehl ähnlich dem folgenden ein:

snow spcs compute-pool suspend tutorial_compute_pool
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

Um einen angehaltenen Computepool fortzusetzen, geben Sie einen Befehl ähnlich dem folgenden ein:

snow spcs compute-pool resume tutorial_compute_pool
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

Eigenschaften oder Parameter eines Computepools festlegen und zurücksetzen

Bemerkung

Die aktuelle Rolle muss über die Berechtigung MODIFY für den Computepool verfügen, um Eigenschaften festlegen zu können.

Um eine Eigenschaft oder einen Parameter festzulegen, geben Sie einen Befehl ähnlich dem folgenden ein:

snow spcs compute-pool set tutorial_compute_pool --min-nodes 2 --max-nodes 4
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

Um eine Eigenschaft oder einen Parameter auf seinen Standardwert zurückzusetzen, geben Sie einen Befehl ähnlich dem folgenden ein:

snow spcs compute-pool unset tutorial_compute_pool --auto-resume
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

Alle Dienste in einem Computepool stoppen

Das Stoppen eines Computepools löscht alle Dienste, die auf dem Computepool ausgeführt werden. Der Computepool selbst wird dabei jedoch nicht gestoppt.

Um einen Computepool zu stoppen, geben Sie einen Befehl spcs compute-pool stop-all ähnlich dem folgenden ein:

snow spcs compute-pool stop-all "pool_1"
Copy