Experience Snowflake with Legacy Snowflake Notebooks¶
Snowflake Notebooks ist eine Entwicklungsumgebung, die Sie mit anderen Features von Snowflake verwenden können. Dieses Thema beschreibt, wie Sie andere Snowflake Features in Notebooks nutzen können.
Snowpark Python in Notebooks¶
Die Snowpark-Bibliothek bietet eine intuitive API für das Abfragen und Verarbeiten von Daten in einer Datenpipeline. Mit der Snowpark-Bibliothek können Sie Anwendungen erstellen, die Daten in Snowflake verarbeiten, ohne dass Daten in das System verschoben werden müssen, das Ihren Anwendungscode ausführt. Sie können die Datenumwandlung und -verarbeitung auch automatisieren, indem Sie gespeicherte Prozeduren schreiben und diese Prozeduren als Aufgaben in Snowflake planen.
Sie können Snowpark verwenden, um Daten in Snowflake in großem Umfang abzufragen und zu verarbeiten, indem Sie Snowpark-Code in einer Python-Zelle Ihres Notebooks schreiben.
Nutzungsbeispiel¶
Snowpark Python ist in der Snowflake Notebooks-Umgebung vorinstalliert. Das folgende Beispiel verwendet die Snowpark-Bibliothek in einem Notebook, um eine CSV-Datei und eine Snowflake-Tabelle einzulesen und deren Inhalt als Ausgabe anzuzeigen.
Fügen Sie in Ihrem Notebook eine Python-Zelle hinzu, entweder mit dem Tastaturkürzel oder durch Auswahl von + Python. Snowflake Notebooks und Snowpark unterstützen beide Python 3.9.
Richten Sie eine Snowpark-Sitzung ein. In Notebooks ist die Sitzungskontextvariable vorkonfiguriert. Sie können die Methode
get_active_sessionverwenden, um die Sitzungskontextvariable zu abzurufen:Verwenden Sie Snowpark, um eine CSV-Datei von einem Stagingbereich in einen Snowpark-DataFrame zu laden. In diesem Beispiel wird ein Stagingbereich namens
tastybyte_stageverwendet.Laden Sie die bestehende Snowflake-Tabelle
app_orderin den Snowpark-DataFrame.Zeigen Sie den Snowpark-DataFrame an.
Bemerkung
Außerhalb der Snowflake Notebooks-Umgebung müssen Sie df.show() aufrufen, um den DataFrame auszudrucken. In Snowflake Notebooks werden DataFrames im Eager-Modus ausgewertet, wenn df ausgegeben wird. Der DataFrame wird als interaktive Streamlit-DataFrame-Anzeige ausgegeben (st.dataframe). Die DataFrames-Ausgabe ist auf 10.000 Zeilen oder 8 MB begrenzt, je nachdem, welcher Wert niedriger ist.
Snowpark-Einschränkungen¶
Ein Snowflake Notebook erstellt eine Snowpark-Sitzung, sodass Sie die meisten der in einer Snowpark-Sitzungsklasse verfügbaren Methoden verwenden können. Da ein Notebook jedoch innerhalb von Snowflake und nicht in Ihrer lokalen Entwicklungsumgebung ausgeführt wird, können Sie die folgenden Methoden nicht verwenden:
session.add_import
session.add_packages
session.add_requirements
Einige Snowpark Python-Operationen funktionieren nicht mit SPROCs. Eine vollständige Liste der Operationen finden Sie unter Beschränkungen bei gespeicherten Python-Prozeduren.
Tipp
Sehen Sie sich weitere Beispiele für Notebooks an, die Snowpark verwenden:
Bemerkung
These quickstarts are only shown as examples. Following along with the example may require additional rights to third-party data, products, or services that are not owned or provided by Snowflake. Snowflake does not guarantee the accuracy of these examples or cover them under any Service Level Agreement.
Streamlit in Notebooks¶
Streamlit ist eine Open-Source-Python-Bibliothek, mit der sich kundenspezifische Web-Apps für maschinelles Lernen und Data Science leicht erstellen und freigeben lassen. Sie können interaktive Datenanwendungen mit Streamlit direkt in Ihrem Notebook erstellen. Sie können Ihre App direkt in einem Notebook testen und entwickeln. Streamlit ist auf Notebooks vorinstalliert, sodass Sie schnell loslegen können.
Nutzungsbeispiel¶
Streamlit wird mit der Snowflake Notebooks-Umgebung vorinstalliert. Das Beispiel in diesem Abschnitt erstellt eine interaktive Daten-App mit Streamlit.
Importieren Sie die erforderlichen Bibliotheken.
Erstellen Sie zunächst einige Beispieldaten für die App.
Richten Sie Ihren interaktiven Schieberegler aus der Streamlit-Bibliothek ein.
Zeigen Sie schließlich eine gefilterte Tabelle basierend auf dem Schiebereglerwert an.
Sie können über das Notebook in Echtzeit mit der App interagieren. Sehen Sie, wie sich die gefilterte Tabelle je nach dem Wert, den Sie mit dem Schieberegler einstellen, verändert.
Tipp
Das vollständige Beispiel finden Sie im Abschnitt der interaktiven Daten-App des Notebooks Visual Data Stories with Snowflake Notebooks.
Streamlit-Unterstützung in Notebooks¶
Mapbox und Carto stellen Kartenkacheln bereit, wenn Sie die Streamlit-Befehle st.map oder st.pydeck_chart verwenden.
In Warehouse-Laufzeitumgebungen, die ihre Pakete mit conda verwalten, sind Mapbox und Carto Anwendungen von Drittanbietern, die den Bedingungen für externe Angebote von Snowflake unterliegen.
Um diese Befehle in den Warehouse-Laufzeiten verwenden zu können, müssen Sie die Bedingungen für externe Angebote anerkennen. Für Container-Laufzeiten ist diese Bestätigung nicht erforderlich.
Die folgenden Streamlit-Elemente werden in Notebooks nicht unterstützt:
-
Die Eigenschaften
page_title,page_iconundmenu_itemsdes Befehlsst.set_page_configwerden nicht unterstützt.
Container Runtime-Notebooks¶
Container Runtime für Notebooks on Container Runtime bietet Software- und Hardware-Optionen zur Unterstützung fortgeschrittener Data Science- und Machine Learning-Workloads. Einzelheiten zur Container Runtime finden Sie unter Notebooks on Container Runtime.
Snowflake ML Registry in Notebooks¶
Die Snowflake Model Registry ermöglicht es Ihnen, Modelle und Ihre Metadaten in Snowflake sicher zu verwalten, unabhängig von ihrer Herkunft. Die Modell-Registry speichert Machine-Learning-Modelle als First-Class-Objekte auf Schema-Ebene in Snowflake, sodass sie von anderen in Ihrer Organisation leicht gefunden und verwendet werden können. Unter Verwendung von Klassen der Snowpark ML-Bibliothek können Sie Registrys erstellen und darin Modelle speichern. Modelle können mehrere Versionen haben, und Sie können eine Version als Standardversion festlegen.
Nutzungsbeispiel¶
Um die Snowflake ML-Registry zu verwenden, installieren Sie die snowflake-ml-python-Bibliothek für Ihr Notebook:
Wählen Sie oben in Ihrem Notebook Packages aus.
Suchen Sie nach dem Paket snowflake-ml-python, und wählen Sie die Bibliothek aus, um es zu installieren.
Hier ist ein Beispiel dafür, wie Sie die Snowflake ML-Registry verwenden können, um ein Modell zu protokollieren:
Tipp
Sehen Sie sich in diesem End-to-End-Beispiel an, wie Sie Snowflake ML Registry verwenden.
pandas on Snowflake in Notebooks¶
Mit pandas on Snowflake können Sie Ihren pandas-Code verteilt direkt auf Ihren Daten in Snowflake ausführen. Durch die Änderung der Importanweisung und einiger Codezeilen erhalten Sie die gleiche vertraute pandas-native Erfahrung mit den Skalierbarkeits- und Sicherheitsvorteilen von Snowflake.
Mit pandas on Snowflake können Sie mit viel größeren Datensätzen arbeiten und vermeiden den Zeit- und Kostenaufwand für die Portierung Ihrer pandas-Pipelines auf andere Big Data-Frameworks oder die Bereitstellung großer und teurer Rechner. Snowpark pandas führt Workloads nativ in Snowflake durch Transpilierung nach SQL aus und kann so die Vorteile der Parallelisierung und der Data Governance und Sicherheit von Snowflake nutzen.
pandas on Snowflake wird über die API Snowpark pandas als Teil der Snowpark-Bibliothek für Python bereitgestellt, die eine skalierbare Datenverarbeitung von Python-Code innerhalb der Snowflake-Plattform ermöglicht.
Nutzungsbeispiel¶
Snowpark pandas ist in Snowpark Python Version 1.17 und höher verfügbar. Snowpark Python wird mit der Snowflake Notebooks-Umgebung vorinstalliert.
Um Modin zu installieren, wählen Sie
modinaus Packages, und stellen Sie sicher, dass die Version 0.28.1 oder höher ist.Um die pandas-Version einzustellen, wählen Sie
pandasaus Packages, und stellen Sie sicher, dass die Version 2.2.1 ist.
Importieren Sie Snowpark Python und Modin in eine Python-Zelle:
Erstellen Sie eine Snowpark-Sitzung:
Starten Sie mit der Verwendung der Snowpark Python-API:
Tipp
Weitere Beispiele für die Verwendung von pandas on Snowflake finden Sie unter Erste Schritte mit pandas on Snowflake.
Snowflake Python-API in Notebooks¶
Die Snowflake Python-API ist eine vereinheitlichte Bibliothek, die Python nahtlos mit Snowflake-Workloads verbindet. Es ist vorgesehen, umfassende APIs für die Interaktion mit zentralen Snowflake-Ressourcen über Data Engineering, Snowpark, Snowpark ML und Anwendungs-Workloads hinweg bereitzustellen, ohne dass API-Befehle verwendet werden müssen.
Sie können die Snowflake-Python-API verwenden, um Snowflake-Ressourcen zu verwalten, indem Sie sie erstellen, löschen oder ändern und vieles mehr. Sie können Python verwenden, um Aufgaben auszuführen, die sonst mit Snowflake SQL-Befehlen ausgeführt werden müssten.
In Notebooks ist die Sitzungskontextvariable vorkonfiguriert. Sie können die Methode get_active_session verwenden, um die Sitzungskontextvariable zu abzurufen:
Erstellen Sie ein Root-Objekt, von dem aus Sie die Snowflake Python-API verwenden können:
Hier ist ein Beispiel dafür, wie Sie mit der Python-API eine Datenbank und ein Schema erstellen:
Tipp
Ein ausführlicheres Beispiel für die Verwendung von Snowflake Python-API finden Sie im Notebook-Beispiel Erstellen eines Snowflake-Objekts mit der Python-API auf Github.