Snowflake Notebooks einrichten¶
Mit Snowflake Notebooks können Sie Code schreiben und ausführen, Ergebnisse visualisieren, Notizen erfassen und Erkenntnisse mit anderen Snowflake-Benutzern teilen. Auf dieser Seite erfahren Sie, wie Sie Ihr Konto für die Nutzung von Snowflake Notebooks einrichten.
Wenn Sie ein Administrator für Ihr Konto sind, finden Sie weitere Informationen unter Setup-Anweisungen für Administratoren für Snowflake Notebooks.
Wenn der Snowflake Notebooks-Zugang bereits von einem Administrator für Ihr Konto eingerichtet wurde, finden Sie weitere Informationen unter User Setup-Anweisungen für Snowflake Notebooks.
User Setup-Anweisungen für Snowflake Notebooks¶
Bevor Sie Snowflake Notebooks verwenden, führen Sie die folgenden Einrichtungsschritte aus.
Dedizierte Datenbank und dediziertes Schema erstellen (optional)¶
Um ein Notebook zu erstellen, benötigen Sie eine Datenbank und ein Schema zum Speichern Ihres Notebooks. Sie können eine bestehende Datenbank und ein bestehendes Schema verwenden oder eine neue Datenbank erstellen, um Snowflake Notebooks zu speichern und zu verwalten.
Um die Speicherung und Verwaltung von Snowflake Notebooks zu vereinfachen, empfiehlt Snowflake das Erstellen einer dedizierten Datenbank und eines dedizierten Schemas.
Um eine dedizierte Datenbank churn_analysis
und ein dediziertes Schema zum Speichern Ihrer Snowflake Notebooks zu erstellen, führen Sie die folgenden SQL-Befehle aus:
CREATE DATABASE churn_analysis;
USE DATABASE churn_analysis;
CREATE SCHEMA notebooks_sch;
Beachten Sie, dass die Datenbank und das Schema nur für die Speicherung Ihrer Notebooks erforderlich sind. Sie können jede Datenbank und jedes Schema, auf das Ihre Rolle Zugriff hat, abfragen. Verwenden Sie die Befehle USE DATABASE oder USE SCHEMA in einer SQL-Zelle, um den Kontext auf eine andere Datenbank oder ein anderes Schema zu ändern.
Die Verwendung eines dedizierten Speicherortes für die Speicherung und Verwaltung von Notebooks kann auch verhindern, dass Notebooks gelöscht werden, wenn eine Datenbank oder ein Schema gelöscht wird.
Computeressourcen erstellen¶
Um ein Notebook zu erstellen, müssen Sie ein Abfrage-Warehouse für Pushdown-Abfragen wählen. Sie können ein bestehendes Warehouse auswählen oder ein neues speziell für Ihre Notebooks erstellen.
Um ein eigenes Warehouse notebooks_wh
zu erstellen, führen Sie den folgenden SQL-Befehl aus:
CREATE WAREHOUSE notebooks_wh;
Wenn Sie ein Notebook erstellen, das auf einer Container Runtime läuft, müssen Sie einen Computepool auswählen. Computepools sind CPU-basierte oder GPU-basierte virtuelle Maschinen, die von Snowflake verwaltet werden. Weitere Details dazu finden Sie unter Snowpark Container Services: Verwenden von Computepools.
Um dedizierte Computepools für Ihre Notebooks zu erstellen, führen Sie die folgenden SQL-Befehle aus:
CREATE COMPUTE POOL CPU_XS
MIN_NODES = 1
MAX_NODES = 15
INSTANCE_FAMILY = CPU_X64_XS;
CREATE COMPUTE POOL GPU_S
MIN_NODES = 1
MAX_NODES = 5
INSTANCE_FAMILY = GPU_NV_S;
Wenn Sie einen Computepool erstellen, legen Sie den Parameter MAX_NODES auf einen Wert größer als eins fest, da für jedes Notebook ein vollständiger Knoten erforderlich ist.
Anforderungen an die Zugriffssteuerung¶
Um zu steuern, wer Notebooks erstellen darf, bietet Snowflake eine spezielle Berechtigung auf Schemaebene. Wenn Sie ein Notebook erstellen, ist die Rolle, der das Notebook gehört, die aktive Rolle in Ihrer Sitzung. Jeder Benutzer mit dieser Rolle kann die Notebooks, die dieser Rolle gehören, öffnen, ausführen und bearbeiten. Ein Benutzer kann den Zugriff auf Notebooks auch von einer Rolle erben. Wenn ein Notebook beispielsweise der Rolle PUBLIC gehört, kann jeder Benutzer in einem Konto die Notebooks, die dieser Rolle gehören, öffnen und bearbeiten. Sie können das Notebook nicht für andere Rollen freigeben.
Da jedes Notebook einer Rolle zugeordnet ist, sollten Sie eine eigene Rolle für das Erstellen und Ausführen von Notebooks einrichten.
Um ein Notebook auf der Warehouse-Laufzeit zu erstellen, müssen Sie eine Rolle verwenden, die über die folgenden Berechtigungen verfügt:
Berechtigung |
Objekt |
---|---|
USAGE |
Datenbank |
USAGE oder OWNERSHIP |
Schema |
USAGE |
Warehouse-Abfrage |
CREATE NOTEBOOK |
Schema |
Um ein Notebook auf einer Container Runtime zu erstellen, muss die Rolle zusätzlich über die folgenden Berechtigungen verfügen:
Berechtigung |
Objekt |
---|---|
USAGE |
Notebook-Warehouse |
USAGE |
Computepool |
CREATE SERVICE |
Schema |
Weitere Informationen zum Notebook Warehouse im Vergleich zum Abfrage-Warehouse finden Sie unter Warehouse-Empfehlungen für die Ausführung von Snowflake Notebooks.
Weisen Sie einer benutzerdefinierten Rolle diese Berechtigungen für die Datenbank und das Schema zu, die Sie für Ihre Notebooks erstellt haben. Die folgenden SQL-Befehle zeigen zum Beispiel, wie Sie einer Rolle namens notebook_role
die erforderlichen Berechtigungen für eine Datenbank namens notebooks_db
und ein Schema namens notebooks_sch
erteilen:
GRANT USAGE ON DATABASE notebooks_db TO ROLE notebook_role;
GRANT USAGE ON SCHEMA notebooks_sch TO ROLE notebook_role;
GRANT CREATE NOTEBOOK ON SCHEMA notebooks TO ROLE notebook_role;
Die Notebook-Rolle muss außerdem über die folgenden Berechtigungen für Notebooks auf Container Runtime verfügen:
GRANT USAGE ON WAREHOUSE notebooks_wh TO ROLE notebook_role;
GRANT USAGE ON COMPUTE POOL CPU_XS TO ROLE notebook_role;
GRANT USAGE ON COMPUTE POOL GPU_S TO ROLE notebook_role;
GRANT CREATE SERVICE ON SCHEMA notebooks_sch TO ROLE notebook_role;
Setup der Integration des externen Zugriffs (EAI)¶
Wenn Sie bei Notebooks, die auf Container Runtime laufen, Pakete aus Internet-Repositorys wie PyPi und Hugging Face installieren möchten, muss der ACCOUNTADMIN den externen Netzwerkzugang einstellen und Ihrer Rolle USAGE-Berechtigungen erteilen. Mit der Integration für den externen Zugriff (EAI) können Sie den sicheren Zugriff auf bestimmte Netzwerkstandorte außerhalb von Snowflake aktivieren und diesen Zugriff dann innerhalb des Handler-Codes für benutzerdefinierte Funktionen (UDFs) und gespeicherte Prozeduren verwenden.
Weitere Informationen zum Einrichten von EAI für Ihr Notebook finden Sie unter Einrichten des externen Zugriffs für Snowflake Notebooks.
Vorlage für das Notebooks-Setup¶
Das folgende SQL-Skript fasst alle oben genannten Schritte zum Setup Ihrer Notebooks zusammen. Füllen Sie die Platzhalter mit Ihren Werten aus und führen Sie das Skript aus, um alle Einstellungen und Berechtigungen einzurichten, die Sie für die Ausführung von Notebooks benötigen.
----------------------------------
-- Location Setup --
----------------------------------
GRANT USAGE ON DATABASE <database> TO ROLE PUBLIC;
GRANT USAGE ON SCHEMA <database.schema> TO ROLE PUBLIC;
GRANT CREATE NOTEBOOK ON SCHEMA <database.schema> TO ROLE PUBLIC;
-- For Notebooks on Containers
GRANT CREATE SERVICE ON SCHEMA <database.schema> TO ROLE PUBLIC;
----------------------------------
-- Compute Resource Setup --
----------------------------------
GRANT USAGE ON WAREHOUSE <warehouse> TO ROLE PUBLIC;
-- For Notebooks on Containers
CREATE COMPUTE POOL CPU_XS
MIN_NODES = 1
MAX_NODES = 15
INSTANCE_FAMILY = CPU_X64_XS;
CREATE COMPUTE POOL GPU_S
MIN_NODES = 1
MAX_NODES = 5
INSTANCE_FAMILY = GPU_NV_S;
GRANT USAGE ON COMPUTE POOL CPU_XS TO ROLE PUBLIC;
GRANT USAGE ON COMPUTE POOL GPU_S TO ROLE PUBLIC;
-------------------------------------
-- Advanced Setup: External Access --
-------------------------------------
-- Example EAI
CREATE OR REPLACE NETWORK RULE allow_all_rule
MODE = 'EGRESS'
TYPE = 'HOST_PORT'
VALUE_LIST = ('0.0.0.0:443','0.0.0.0:80');
CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION allow_all_integration
ALLOWED_NETWORK_RULES = (allow_all_rule)
ENABLED = true;
GRANT USAGE ON INTEGRATION allow_all_integration TO ROLE PUBLIC;
Warehouse-Empfehlungen für die Ausführung von Snowflake Notebooks¶
Wenn Sie ein Notebook erstellen, wählen Sie ein Warehouse aus, in dem die Notebook-Prozesse und sämtlicher Code ausgeführt werden sollen. Beginnen Sie mit einem Warehouse der Größe X-Small, um den Credit-Verbrauch zu minimieren.
Abfrage-Warehouse: Führt alle SQL- und Snowpark-Abfragen aus, die vom Notebook ausgegeben werden. Dieses Warehouse wird bei Bedarf genutzt und vom Eigentümer des Notebooks ausgewählt.
Notebook-Warehouse: Führt den Python-Kernel aus und unterstützt die interaktive Nutzung des Notebooks. Die Standardeinstellung ist ein von Snowflake verwaltetes Warehouse für Notebook-Workloads. Snowflake empfiehlt die Verwendung dieses Warehouses für die Ausführung Ihres Notebook-Kernels. Weitere Informationen zu diesem Standard-Warehouse finden Sie unter Standard-Warehouse für Notebooks.
Sie können auch ein anderes Warehouse wählen. Vielleicht möchten Sie zum Beispiel große Abfragen mit SQL ausführen oder rechenintensive Operationen mit Snowpark Python durchführen, die ein größeres Warehouse erfordern. In diesem Fall haben Sie zwei Möglichkeiten:
Geben Sie ein Warehouse an, das für eine bestimmte Zelle oder einen Satz von Zellen verwendet werden soll.
Dadurch wird sichergestellt, dass die Abfragen in diesen Zellen das größere Warehouse verwenden, aber die Notebook-Prozesse weiterhin auf dem kleineren Notebook-Warehouse ausgeführt werden. So verbrauchen Sie weniger Rechenleistung, wenn Sie keine Abfragen ausführen.
Um beispielsweise ein Warehouse namens
notebooks
für bestimmte Zellen zu verwenden, können Sie mit dem Befehl USE WAREHOUSE eine SQL-Zelle hinzufügen oder den Befehl zum Python-Code einer Python-Zelle hinzufügen:- SQL::
USE WAREHOUSE notebooks;
- Python::
session.sql('USE WAREHOUSE notebooks;')
Nachdem Sie eine beliebige Zellen ausgeführt haben, für die
USE WAREHOUSE
angegeben ist, verwenden alle Zellen, die im weiteren Verlauf der Notebook-Sitzung ausgeführt werden, das angegebene Warehouse. Wenn Sie Abfragen nicht mehr mit einem großen Warehouse ausführen müssen, schreiben Sie eine neue Zelle, um ein kleineres Warehouse zu verwenden.Wählen Sie ein größeres Warehouse für das gesamte Notebook.
Vorsicht
Die Wahl dieser Option kann den Credit-Verbrauch für das gesamte Notebook drastisch erhöhen, da das größere Warehouse für die gesamte Notebook-Sitzung verwendet wird.
So ändern Sie das Warehouse des Notebooks:
Melden Sie sich bei Snowsight an.
Wählen Sie Projects » Notebooks aus.
Klicken Sie oben rechts in Ihrem Notebook auf die vertikale Ellipse ().
Wählen Sie Notebook settings aus.
Wählen Sie ein neues Warehouse aus, das Sie verwenden möchten.
Setup-Anweisungen für Administratoren für Snowflake Notebooks¶
Um für Ihre Organisation die Verwendung von Snowflake Notebooks einzurichten, führen Sie die folgenden Schritte aus:
Berücksichtigen von Konto- und Bereitstellungsanforderungen.
Anaconda-Bedingungen für den Import von Bibliotheken akzeptieren.
Hinweise zum Konto und zur Bereitstellung von Snowflake Notebooks¶
Vergewissern Sie sich, dass *.snowflake.app
in Ihrem Netzwerk auf der Zulassungsliste steht und eine Verbindung zu Snowflake herstellen kann. Wenn diese Domäne in der Zulassungsliste enthalten ist, können Ihre Apps ohne Einschränkungen mit Snowflake-Servern kommunizieren.
Um Probleme bei der Verbindung mit dem Snowflake Backend zu vermeiden, stellen Sie außerdem sicher, dass WebSockets in Ihrer Netzwerkkonfiguration nicht blockiert werden.
Darüber hinaus gelten die folgenden Hinweise zum Konto:
Konten in den folgenden Regionen werden derzeit nicht unterstützt:
Google Cloud Platform (GCP)
Virtual Private Snowflake (VPS)
Regionen für US-Regierungsbehörden, die FedRAMP unterstützen
Die Verwendung von AWS PrivateLink oder Azure Private Link wird nicht unterstützt.
Der Kontoname muss innerhalb Ihrer Organisation eindeutig sein.
Anaconda-Bedingungen für den Import von Bibliotheken akzeptieren¶
Bevor Sie die von Anaconda in Snowflake bereitgestellten Pakete verwenden können, müssen Sie die Bedingungen für externe Angebote anerkennen.
Bemerkung
Sie müssen der Administrator der Organisation sein (Rolle ORGADMIN), um die Bedingungen akzeptieren zu können. Sie müssen die Bedingungen nur einmal für Ihre Snowflake-Organisation akzeptieren. Siehe Aktivieren der ORGADMIN-Rolle für ein Konto.
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Billing & Terms aus.
Wählen Sie im Abschnitt Anaconda die Option Enable aus.
Klicken Sie im Anaconda Packages-Dialog auf den Link, um die Bedingungen für externe Angebote zu prüfen.
Wenn Sie mit den Bedingungen einverstanden sind, klicken Sie auf Acknowledge & Continue.
Wenn Sie beim Versuch, die Nutzungsbedingungen zu akzeptieren, eine Fehlermeldung erhalten, fehlt in Ihrem Benutzerprofil möglicherweise ein Vorname, ein Nachname oder eine E-Mail-Adresse. Wenn Sie eine Administratorrolle haben, finden Sie unter Benutzerdetails zum Benutzerprofil hinzufügen entsprechende Informationen zum Aktualisieren Ihres Profils in Snowsight. Wenden Sie sich andernfalls an einen Administrator, um Ihr Konto zu aktualisieren.
Abrechnungshinweise zur Ausführung von Snowflake Notebooks¶
Zum Ausführen eines Snowflake Notebooks ist ein virtuelles Warehouse erforderlich.
Ähnlich wie die Abrechnung für eine Streamlit-App verwendet ein Snowflake Notebook eine Websocket-Verbindung, um Abfragen auszuführen. Das virtuelle Warehouse bleibt aktiv, solange die Websocket-Verbindung aktiv ist. Jedes Notebook hat seine eigene Sitzung. Die Verbindung wird geschlossen, wenn Sie Ihr Notebook schließen oder ca. 60 Minuten nach der letzten Nutzung der Verbindung durch das Notebook vergangen sind, je nachdem, welcher Zeitpunkt früher liegt. Um die Laufzeit des Notebooks zu verlängern, können Sie ein anderes Warehouse verwenden oder den Parameter STATEMENT_TIMEOUT_IN_SECONDS ändern. Dieser Parameter wird auf der Warehouse- oder Kontoebene eingestellt und beendet die Notebook-Sitzung nach einem bestimmten Zeitraum.
Siehe Warehouse-Empfehlungen für die Ausführung von Snowflake Notebooks.
Notebook-Verwendung mit Hinzufügen von Daten beginnen¶
Bevor Sie mit Snowflake Notebooks beginnen, fügen Sie Daten zu Snowflake hinzu.
Sie können Daten auf verschiedene Weise zu Snowflake hinzufügen:
Fügen Sie über die Weboberfläche Daten aus einer CSV-Datei zu einer Tabelle hinzu. Siehe Laden von Daten mithilfe der Weboberfläche.
Fügen Sie Daten aus einem externen Cloudspeicher hinzu:
Um Daten von Amazon S3 zu laden, siehe Massenladen aus Amazon S3.
Um Daten von Google Cloud Storage zu laden, siehe Massenladen aus Google Cloud Storage.
Um Daten von Microsoft Azure zu laden, siehe Massenladen aus Microsoft Azure.
Fügen Sie Daten programmgesteuert durch Massenladen hinzu. Siehe Massenladen aus einem lokalen Dateisystem.
Sie können Daten auch auf andere Weise hinzufügen. Weitere Informationen dazu finden Sie unter Übersicht zum Laden von Daten.