Verwenden von Snowflake Notebooks

Snowflake CLI enthält die folgenden snow notebook-Befehle, mit denen Sie -Snowflake Ntebooks über die Befehlszeile erstellen und ausführen können:

Notebook erstellen

Bemerkung

Ab Version 3.4.0 hat Snowflake CLI den Befehl snow notebook deploy hinzugefügt, der den Befehl snow notebook create ersetzt. Um die Abwärtskompatibilität zu gewährleisten, können Sie weiterhin ein Notebook mit dem Befehl snow notebook create erstellen, aber Snowflake empfiehlt Ihnen, das neue Verfahren Notebook erstellen und bereitstellen zu verwenden.

Der Befehl snow notebook create erstellt ein Notebook aus einem im Stagingbereich bestehenden Notebook. Der Befehl gibt einen Link zu dem neuen Notebook zurück. Das folgende Beispiel erstellt das MY_NOTEBOOK-Notebook aus dem angegebenen Stagingbereich:

snow notebook create MY_NOTEBOOK -f @MY_STAGE/path/to/notebook.ipynb
Copy

Der Befehl erstellt das Notebook in dem für die Verbindung definierten Standard-Warehouse. Mit der --warehouse-Option können Sie ein alternatives Warehouse angeben oder eines angeben, wenn in der Verbindung kein Standard-Warehouse definiert ist.

Notebook erstellen und bereitstellen

Der Befehl snow notebook deploy lädt lokale Dateien in einen Stagingbereich hoch und erstellt ein neues Notebook-Objekt innerhalb der von Ihnen gewählten Datenbank und des Schemas. In Ihrer Projektdefinitionsdatei sollten Sie die Hauptdatei des Notebooks und das Abfrage-Warehouse angeben. Die Option --replace ersetzt das angegebene Notebook-Objekt, wenn es bereits existiert.

Jedes Notebook in Snowflake muss eine snowflake.yml-Projektdefinitionsdatei enthalten.

Das folgende Beispiel zeigt eine Notebook-Projektdefinitionsdatei snowflake.yml:

definition_version: 2
entities:
  my_notebook:
    type: notebook
    query_warehouse: xsmall
    notebook_file: notebook.ipynb
    artifacts:
    - notebook.ipynb
    - data.csv
Copy

Die folgende Tabelle beschreibt die Eigenschaften einer Notebook-Projektdefinition:

Eigenschaften der Notebook-Projektdefinition

Eigenschaft

Definition

type

erforderlich, string

Muss notebook sein.

query_warehouse

erforderlich, string

Snowflake-Warehouse, welches das Notebook hostet.

notebook_file

erforderlich, string

Pfad zur Notebook-Datei.

Artefakte

erforderlich, string sequence

Liste der Dateien, die in den Stagingbereich hochgeladen wurden. Die Notebook-Datei sollte in dieser Liste enthalten sein.

stage_path

optional, string

Pfad zu dem Stagingbereich, in dem die Artefakte gespeichert werden sollen. Standard: notebooks/<notebook_id>.

computepool

optional, string

Für ein containerisiertes Notebook zu verwendender Computepool.

Bemerkung

Containerisierte Notebooks befinden sich derzeit unter PuPr.

runtime_name

optional, string

Name der zu verwendenden Container-Laufzeit für ein containerisiertes Notebook. Die folgenden Werte sind gültig:

  • SYSTEM$BASIC_RUNTIME für CPU-Laufzeit

  • SYSTEM$GPU_RUNTIME für GPU-Laufzeit

Bemerkung

Containerisierte Notebooks befinden sich derzeit unter PuPr.

Bezeichner

optional, string

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

  • Zeichenfolge Bezeichnertext

    identifier: my-notebook-id
    
    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 (z. B. ’”My Notebook”’).

  • Objekt

    identifier:
      name: my-notebook-id
      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-notebook).

Das folgende Beispiel lädt die in Ihrer Projektdefinitionsdatei angegebenen Dateien hoch und erstellt ein neues Notebook mit dem Namen my_notebook:

snow notebook deploy my_notebook
Copy
Uploading artifacts to @notebooks/my_notebook
  Creating stage notebooks if not exists
  Uploading artifacts
Creating notebook my_notebook
Notebook successfully deployed and available under https://snowflake.com/provider-deduced-from-connection/#/notebooks/DB.SCHEMA.MY_NOTEBOOK

Ein Notebook ausführen

Der snow notebook execute-Befehl führt ein Notebook im Headless-Modus aus. Derzeit gibt der Befehl nur eine Meldung zurück, die angibt, ob die Ausführung des Notebooks erfolgreich war.

snow notebook execute MY_NOTEBOOK
Copy
Notebook MY_NOTEBOOK executed.