Compute-Einrichtung für Snowflake Notebooks in Workspaces¶
Einrichten von Computeressourcen¶
Wenn ein Benutzender ein Notebook ausführt, erstellt der Benutzende einen von Snowflake verwalteten Notebook-Service, um den Notebook-Kernel zu hosten und Code auszuführen.
Beim Erstellen eines Notebook-Services können Benutzende die Python-Version, die Snowflake Container-Laufzeitversion, den Computepool, das Leerlauf-Timeout und die Integrationen für den externen Zugriff konfigurieren sowie optional den Servicenamen anpassen.
Jeder Notebook-Service ist auf einen einzelnen Benutzenden beschränkt und belegt einen Knoten auf dem ausgewählten Computepool. Alle Notebooks, die mit demselben Service verbunden sind, teilen sich die Computeressourcen auf diesem Knoten. Wenn ein Notebook dedizierte Computeressourcen benötigt, erstellen Sie einen separaten Notebook-Service, und vermeiden Sie es, zusätzliche Notebooks damit zu verbinden.
Verwenden eines Notebook-Services¶
Anhalten¶
Sie können einen Notebook-Service manuell anhalten, indem Sie auf Connected klicken, den Mauszeiger über den Namen des Services bewegen und Suspend (Pausen-Symbol) auswählen.
Alternativ können Sie auch warten, bis der Service seine Leerlauf-Timeout-Einstellung erreicht hat und er automatisch ausgesetzt wird. Weitere Informationen zur Berechnung der Leerlaufzeit finden Sie unter Timeout bei Leerlauf.
Wenn Sie einen Service aussetzen, werden alle mit ihm verbundenen Notebooks getrennt, die Status im Arbeitsspeicher werden gelöscht und alle Pakete und Variablen werden entfernt. Dateien, die aus Code und der Befehlszeile im Workspace-Dateisystem erstellt wurden sowie das /tmp-Verzeichnis gehen ebenfalls verloren. Weitere Informationen zu Einschränkungen bei Dateisystemen finden Sie unter Arbeiten mit dem Dateisystem.
Fortsetzen¶
Um einen ausgesetzten Service fortzusetzen, verbinden Sie ein Notebook mit ihm, oder führen Sie ein Notebook aus, das zuvor mit dem Service verbunden war.
Löschen¶
Um einen Service zu löschen, gehen Sie wie folgt vor:
Melden Sie sich bei Snowsight an.
Wählen Sie die Dropdown-Liste Connected aus.
Wählen Sie Manage service aus, um zur Seite Services & jobs zu gelangen.
Wählen Sie das Auslassungszeichen für den Service aus, den Sie löschen möchten, und wählen Sie dann Drop aus.
Bearbeiten eines Notebook-Services¶
Ein Notebook-Service kann nach der Erstellung aktualisiert werden, um Folgendes zu ändern:
Integration für den externen Zugriff
Laufzeitversion
Timeout bei Leerlauf
Änderungen an (1) oder (2) setzen den Service aus und starten ihn dann neu. Das Ändern des Leerlauf-Timeouts führt nicht dazu, dass der Service neu gestartet wird.
Timeout bei Leerlauf¶
Jeder Notebook-Service definiert sein eigenes Timeout bei Leerlauf. Der Service wird ausgesetzt, wenn das Timeout bei Leerlauf erreicht ist. Das Timeout bei Leerlauf beginnt, sobald alle laufenden Zellen in allen verbundenen Notebooks beendet sind. Wenn mehrere Notebooks denselben Service nutzen, beginnt die Leerlaufzeit erst, wenn das letzte Notebook in den Leerlauf eintritt (keine Zellen mehr ausgeführt werden).
Credit-Nutzung¶
Für die Ausführung eines Notebooks können Credits aus zwei Quellen anfallen:
Computepool: Treibt die Notebook-Kernel und der Python-Prozesse an.
Credits fallen an, während sich der Notebook-Service im Status RUNNING befindet, bis er manuell oder aufgrund eines Leerlauf-Timeouts angehalten wird. Alle Notebooks, die mit demselben Service verbunden sind, teilen sich die verbrauchten Computepool-Credits.
Abfrage-Warehouse: Wird für SQL-Abfragen oder Snowpark Pushdown Compute verwendet, die durch das Notebook ausgelöst werden.
Credits fallen nur an, wenn SQL-Abfragen oder Snowpark Pushdown Compute-Vorgänge auf dem Warehouse ausgeführt werden. Um die Kosten zu optimieren, aktivieren Sie das automatische Aussetzen für das Abfrage-Warehouse. Notebooks, die keine SQL-Abfragen oder Snowpark Pushdown Compute aufrufen, verursachen keine Abfrage-Warehouse-Credits.
Weitere Informationen zur Kostenoptimierung und Wertmaximierung finden Sie unter Optimieren der Kosten.
Governance für Notebook-Services¶
Notebook-Services gelten für jeden Benutzenden persönlich, werden ausschließlich für das Ausführen von Notebooks verwendet und befinden sich in der persönlichen Datenbank des Benutzenden (PDB).
Berechtigungen¶
Eigentümerschaft¶
Die OWNER_ROLE ist NULL, weil Snowflake diese Services verwaltet.
Berechtigungen von Benutzern¶
Der erstellende Benutzende hat die folgenden Berechtigungen:
USAGE
OPERATE
DROP
MONITOR
Administratorberechtigungen¶
Dem ACCOUNTADMIN werden die folgenden Berechtigungen gewährt:
USAGE
OPERATE
DROP
Dies ermöglicht die vollständige Verwaltung und Übersicht über alle Notebook-Services.
Administratorkontrolle und Kostenüberwachung für Computepools¶
Administratoren verwalten den Benutzerzugriff und die Kosten hauptsächlich über die Computepools, die mit den Notebook-Services verbunden sind.
Die Rolle eines Benutzenden muss die Berechtigung USAGE für einen Computepool haben, um einen Notebook-Service zu erstellen und Notebooks auszuführen. Darüber hinaus muss der Computepool den NOTEBOOK-Workload-Typ über den Parameter ALLOWED_SPCS_WORKLOAD_TYPES zulassen. Der Standardwert für diesen Parameter ist ALL, was NOTEBOOK einschließt.
Weitere Informationen zu Computepool-Workloads finden Sie unter Snowpark Container Services: Verwenden von Computepools.
Deaktivieren der Notebook-Ausführung¶
Administratoren können die Ausführung von Notebooks in Workspaces auf verschiedene Weise einschränken:
Entfernen von USAGE für den Computepool¶
Das Entfernen der USAGE-Berechtigung von einer Rolle für einen Computepool verhindert, dass diese Rolle diesen Computepool verwendet, einschließlich der Ausführung von Notebooks.
Workload-Typen für alle Computepools einschränken¶
Administratoren können mithilfe von zwei Parametern auf Kontoebene die Ausführung von Notebooks einschränken und gleichzeitig andere Workloads zulassen. Dies wirkt sich auf alle Rollen in dem Konto aus.
Schließen sie
NOTEBOOKaus dem ParameterALLOWED_SPCS_WORKLOAD_TYPESaus.Legen Sie
NOTEBOOKals den ParameterDISALLOWED_SPCS_WORKLOAD_TYPESfest.
Jede Rolle, die über USAGE auf dem Computepool verfügt, kann dennoch andere zulässige Typen von Workloads ausführen, wie in den Parametern angegeben.
Kostenüberwachung¶
Administratoren können den Verbrauch pro Computepool überwachen. Snowflake empfiehlt, für jede Rolle einen eigenen Computepool bereitzustellen, um den Verbrauch auf Rollenebene anzuzeigen. Um die Ausgaben zu verwalten, können Administratoren Budgets auf bestimmte Computepools anwenden.
Von Notebooks verwaltete Services anzeigen¶
Verwenden Sie den Befehl SHOWSERVICES:
SHOW SERVICES OF TYPE NOTEBOOK;
Notebook-Service löschen¶
Administratoren können einen Notebook-Service über SQL beenden:
DROP USER$DB_NAME.PUBLIC.[SERVICE_NAME];
Alternativ können Administratoren Snowsight verwenden:
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Monitoring » Services & jobs aus.
Wählen Sie die Ellipse und dann Drop aus.
Servicewartung¶
Notebook-Services sind eine Art von Snowpark Container Services und erfordern eine regelmäßige Wartung, um sicher und auf dem neuesten Stand zu bleiben. Die Wartung dauert in der Regel etwa fünf Minuten. Dabei setzt sie den Notebook-Service aus und startet ihn neu. Siehe Verwalten eines Notebook-Services, um Details zu den Auswirkungen des Workloads zu erhalten.
Nachdem ein Notebook-Service in den Status RUNNING gewechselt ist (unabhängig davon, ob neu erstellt oder nach dem Status SUSPENDED fortgesetzt), wird garantiert, dass er sieben Kalendertage (168 Stunden) lang nicht durch Servicewartungen unterbrochen wird. Sieben Tage nach der Erstellung kann der Service für obligatorische Wartungsarbeiten ausgesetzt werden.