Bearbeiten und Ausführen von Notebooks in Workspaces

Ausführungskontext festlegen

Notebooks in Workspaces legen nicht automatisch eine Datenbank oder ein Schema fest. Um Daten abzufragen, müssen Sie den Ausführungskontext in einer Zelle mit den folgenden SQL-Befehlen definieren:

USE DATABASE <database>;
USE SCHEMA <schema>;
Copy

Um sicherzustellen, dass Notebooks über Umgebungen und Clients hinweg konsistent ausgeführt werden, verwenden Sie vollqualifizierte Namen für Tabellen und andere Objekte. Beispiel:

-- Query data objects using a fully qualified name
SELECT * FROM TABLE <database_name.schema_name.table_name>;

-- Create a table using a fully qualified name
WITH filtered_events AS (
    SELECT
        user_id,
        event_type,
        event_timestamp
    FROM raw_events
    WHERE event_timestamp >= '2025-01-01'
)
CREATE OR REPLACE TABLE <database_name.schema_name.table_name> AS
SELECT *
FROM filtered_events;
Copy

Rollen- und Warehouse-Auswahl verwenden

Sie können die aktive Rolle und das aktive Warehouse entweder mit der Auswahl oben links im Notebooks-Editor festlegen oder indem Sie folgende SQL-Befehle ausführen:

USE ROLE <role>;
USE WAREHOUSE <warehouse>;
Copy

Das Abfrage-Warehouse wird zur Ausführung von SQL-Abfragen und Snowpark-Pushdown-Compute, das vom Notebook aufgerufen wird, verwendet. Es wird auch verwendet, um das interaktive Datenraster zu rendern, aber für diesen Vorgang fallen keine Credit-Gebühren an.

Mehr über die Credit-Nutzung erfahren Sie unter Einrichten von Computeressourcen.

Zellen ausführen

Es gibt vier unterstützte Ausführungsoptionen:

  • Alle Zellen ausführen

  • Eine einzelne Zelle ausführen

  • Aktuelle Zelle und alle darüber befindlichen Zellen ausführen (über das Ellipsenmenü der Zelle)

  • Aktuelle Zelle und alle darunter liegenden Zellen ausführen (über das Dreipunktmenü der Zelle)

Ausführung von Zellen abbrechen

Verwenden Sie Stop oben im Notebook oder Cancel execution in einer Zelle.

Beide Aktionen stoppen die aktuell ausgeführte Zelle und alle in der Warteschlange befindlichen Zellen, die durch Run all ausgelöst wurden.

Bemerkung

Die Schaltfläche Run all kann sich vorübergehend in Stop ändern, wenn das Notebook eine Verbindung zum Service herstellt oder erneut eine Verbindung herstellt.

Zellennamen

Sie können den Zellen Namen zuweisen, um die Navigation zu erleichtern und kontextbezogene Beschriftungen bereitzustellen.

Wenn eine importierte .ipynb-Datei bereits Metadaten zum Namen oder Titel enthält, werden diese Werte automatisch verwendet.

Zellenreferenzierung

Bidirektionales Referenzieren von SQL in Python-Zellen ermöglicht Ihnen, Ergebnisse und Variablen über Zellen hinweg in beiden Sprachen wiederzuverwenden, was nahtlose Übergänge zwischen SQL- und Python-Workflows ermöglicht.

Sie können den Mauszeiger über die Ergebnis-QuickInfo bewegen, um den DataFrame-Namen anzuzeigen, mit dem Sie das Ergebnis in Python und SQL referenzieren können.

Zellenreferenzierung

Referenzieren von SQL-Zellenergebnissen

Jede SQL-Zelle stellt ihr Ergebnis als einen Pandas-DataFrame-Pointer mit dem Namen dataframe_x bereit.

  • Referenzieren Sie dies in SQL anhand von doppelten geschweiften Klammern: {{dataframe_1}}.

  • Referenzieren Sie dies in Python direkt als einen Pandas-DataFrame: dataframe_1.

Referenzieren von Python-Variablen

Um Python-Variablen in SQL-Abfragen zu referenzieren, schließen Sie diese in doppelte geschweifte Klammern ein. Beispiel:

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

DataFrame-Variablen werden auch unterstützt, wenn Python-Variablen in SQL referenziert werden.

Beispiel-Workflow

Python-Zelle

import pandas as pd

uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
Copy

SQL-Zelle, die auf Python-Variable verweist

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

SQL-Zelle, die auf SQL-Zellenergebnisse verweist

Das Ergebnis einer SQL-Zelle liefert einen DataFrame-Pointer namens dataframe_1. Sie können ihn in einer anderen SQL-Abfrage referenzieren:

SELECT * FROM {{dataframe_1}} WHERE "carat" < 1.0
UNION ALL
SELECT * FROM {{dataframe_2}} WHERE "carat" >= 1.0;
Copy

Interaktives Datenraster

Das Datenraster unterstützt Folgendes:

  • Scrollen

  • Suche

  • Filtern

  • Sortierung

  • Diagrammerstellung ohne Code

Integrierter Diagrammgenerator

Bietet eine konsistente Benutzererfahrung für die Datenbearbeitung und -visualisierung auf allen Bearbeitungsoberflächen in Workspaces.

Minimap und Zellenstatus

Die Minimap generiert ein Inhaltsverzeichnis aus den Markdown-Headern und zeigt einen umfassenden Sitzungsstatus für jede Zelle an (ausgeführt, erfolgreich, fehlgeschlagen und geändert).

Notebook-Kernel

Der Notebook-Kernel bleibt aktiv, solange der Notebook-Service sich im Status RUNNING befindet, der eine ununterbrochene Ausführung von kritischen, langlaufenden Prozessen wie ML-Training und Data-Engineering-Jobs ermöglicht.

Aktionen, die sich nicht auf die Kernel-Ausführung auswirken:

  • Navigation zu anderen Seiten

  • Arbeiten an anderen Stellen in Snowsight

  • Schließen des Browsers

  • Herunterfahren des Computers

Sie können den Kernel über die Dropdown-Liste Connected herunterfahren oder neu starten.

Bemerkung

Die Verwendung von Shut down kernel oder Restart kernel löscht Variablen im Speicher, behält jedoch alle vom Benutzer installierten Pakete bei. Wenn Sie eine völlig saubere Umgebung mit nur den vorinstallierten Paketen wünschen, müssen Sie den Dienst neu starten oder einen neuen Dienst erstellen und sich mit diesem verbinden.

Wenn der Notebook-Service ausgesetzt wird, wird auch der Notebook-Kernel heruntergefahren. Weitere Informationen dazu finden Sie unter Einrichten von Computeressourcen.

Jupyter Magics

Notebooks in Workspaces führen den IPython-Kernel (Interaktiver Python-Kernel) aus und stellen Standard-Jupyter-Zellen- und -Zeilen-Magics bereit. Führen Sie %lsmagic aus, um die verfügbaren Magics anzuzeigen.

Verwenden des Terminals

Das Terminal kann für Folgendes verwendet werden:

  • Abhängigkeiten installieren

  • Dateien verwalten

  • Parallele Jobs ausführen

  • Nutzung von Computeressourcen überwachen

Sie müssen mit einem Notebook-Service verbunden sein, um das Terminal verwenden zu können. Wenn Sie zu einem anderen Service wechseln, wird die Terminalsitzung neu gestartet.

Beispiel für die Installation und Ausführung von htop zur Überwachung der Computeressourcennutzung in Echtzeit:

# If installation fails, run `apt update` first
# Install `htop`
apt install htop

# Run `htop`
htop
Copy