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>;
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;
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>;
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.
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;
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
SQL-Zelle, die auf Python-Variable verweist
SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
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;
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