Snowpark bietet erweiterte Funktionen wie vollständig verwaltete Container, native ML-APIs, neue Python-Versionen, externen Zugriff, erweiterte DevOps und mehr
Data Scientists, Data Engineers und Anwendungsentwickler:innen profitieren seit der Markteinführung von Snowpark vor zwei Jahren von der Möglichkeit, ihre Architekturen zu optimieren, die Entwicklung zu beschleunigen und die Performance von Data-Engineering- und ML/KI-Workloads auf Snowflake zu steigern. Anlässlich des diesjährigen Summits freuen wir uns, eine Reihe von Weiterentwicklungen der Snowpark-Laufzeiten und -Bibliotheken anzukündigen, welche die Bereitstellung und Verarbeitung von nicht auf SQL basierendem Code in Snowflake noch einfacher, schneller und sicherer machen.
Snowpark– eine Reihe von Bibliotheken und Laufzeiten für die sichere Bereitstellung und Verarbeitung von nicht auf SQL basierendem Code in der Snowflake Data Cloud.
Vertraute clientseitige Bibliotheken – Snowpark vereint tief integrierte, DataFrame-ähnliche Programmierung und OSS-kompatible APIs mit den Sprachen, die Datenexpert:innen gerne verwenden. Die Lösung umfasst vertraute APIs für verschiedene datenzentrierte Aufgaben wie Datenvorbereitung, -bereinigung, -vorverarbeitung, Modelltraining und -bereitstellung. Außerdem kündigen wir die Unterstützung für eine Reihe neuer ML-APIs für eine effizientere Modellentwicklung (Public Preview) und Bereitstellung (Private Preview) an.
Flexible Laufzeitkonstrukte – Snowpark zeichnet sich durch flexible Rechen- und Laufzeitkonstrukte aus, die es Benutzer:innen ermöglichen, individuelle Logik in Warehouses oder Snowpark Container Services einzubringen und auszuführen (Private Preview). Im Warehouse-Modell können Benutzer:innen Daten-Pipelines, ML-Modelle und Datenapplikationen mit User-Defined Functions (UDFs) und gespeicherte Prozeduren (Stored Procedures, Sprocs) nahtlos ausführen und operationalisieren. Für Workloads, die den Einsatz von Spezialhardware wie GPUs, kundenspezifische Laufzeiten/Bibliotheken oder das Hosting von lang laufenden Full-Stack-Anwendungen erfordern, ist Snowpark Container Services die ideale Lösung.
All diese Funktionen sorgen gemeinsam für leistungsstarke Erweiterungsmöglichkeiten, die auf die Anforderungen und Vorlieben von Data Engineers, Data Scientists und Entwickler:innen zugeschnitten sind. Organisationen müssen sich nicht mehr mit dem Aufbau und der Verwaltung komplexer Inselsysteme befassen, die außerhalb der Governance-Grenzen von Snowflake betrieben werden. Weil sich die Rechenressourcen näher an den Daten befinden, können Unternehmen Datensilos beseitigen, Sicherheits- und Governance-Herausforderungen bewältigen und die Abläufe optimieren. Das Ergebnis ist eine höhere Effizienz, während gleichzeitig der mit zusätzlichen Systemen und Infrastrukturen verbundene Verwaltungsaufwand entfällt.
Dieser Blogbeitrag befasst sich mit den neuesten Ankündigungen zu den Snowpark-Client-Bibliotheken und den serverseitigen Erweiterungen für Warehouses. Weitere Einzelheiten zu den Snowpark Container Services finden Sie in unserem Markteinführungs-Blog hier.
Neuerungen: Snowpark für Python
Aufgrund der wachsenden Beliebtheit von Python ist diese Sprache die erste Wahl für Data Scientists und die drittbeliebteste Sprache unter Entwickler:innen insgesamt. Wir haben es uns zur Aufgabe gemacht, Snowflake zur besten Plattform für Python-Anwender:innen zu machen. Deshalb haben wir ein umfassendes Paket an Erweiterungen und neuen Funktionen für Snowpark für Python eingeführt.
Allgemeine Aktualisierungen der Plattform
Unterstützung für mehrere Python-Versionen 3.9 & 3.10 (Public Preview) – Benutzer:innen haben die Möglichkeit, auf neuere Versionen zu aktualisieren, um von den Python-Verbesserungen und kompatiblen Paketen von Drittanbietern in Snowpark zu profitieren.
Unterstützung neuer Python-Bibliotheken (Anaconda) in Snowflake – Da die Stärke von Python in seinem reichhaltigen Ökosystem von Open-Source-Paketen liegt, bringen wir als Teil des „Snowpark für Python“-Angebots über unsere Anaconda-Integration eine nahtlose Open-Source-Innovation der Enterprise-Klasse in die Data Cloud. Auf der Grundlage von Kundenfeedback und dem Ideenforum von Snowflake erweitern wir ständig das bestehende Repository mit mehr als 5.000 Paketen, die im Snowflake Channel verfügbar sind. Zu den jüngsten Ergänzungen und Bibliotheken, die bald verfügbar sein werden, gehören: langchain, implicit, imbalanced-learn, rapidfuzz, rdkit, mlforecast, statsforecast, scikit-optimize, scikit und weitere.
Verarbeitung unstrukturierter Daten mit Python (Public Preview) – Die Verarbeitung unstrukturierter Daten wird jetzt standardmäßig von Python unterstützt. Benutzer:innen können mit Python UDFs, UDTFs und gespeicherten Prozeduren sicher und dynamisch unstrukturierte Dateien (wie Bilder, Video, Audio oder benutzerdefinierte Formate) aus internen/externen Stages oder aus dem On-Premise-Speicher lesen, verarbeiten und Erkenntnisse daraus gewinnen.
Externer Netzwerkzugriff (Private Preview) – Benutzer:innen können über den Snowpark-Code (UDFs/UDTFs und gespeicherte Prozeduren) nahtlos eine Verbindung zu externen Endpunkten herstellen und gleichzeitig ein hohes Maß an Sicherheit und Governance gewährleisten.
Richtlinien für Python-Pakete (Private Preview) – Benutzer:innen mit entsprechenden Berechtigungen können Positiv- und Negativlisten für eine bessere Governance der in ihrem Konto genutzten Anaconda-Pakete festlegen. Dank dieser Governance-Funktionen können Kunden mit strengen Audit- und/oder Sicherheitsanforderungen die Verwendung von OSS-Python-Paketen in ihren Snowflake-Umgebungen engmaschiger steuern und kontrollieren.
Aktualisierungen der Clientbibliotheken
Einführung von Snowpark ML-APIs – Mit Freude kündigen wir die Unterstützung für Snowpark ML-APIs an, welche die End-to-End-ML-Entwicklung in Snowflake vereinfachen werden: ML Modeling API (Public Preview) und ML Operations API (Private Preview).
Snowpark ML Modeling API (Public Preview) – Horizontale Skalierung von Feature Engineering und vereinfachtes Modelltraining in Snowflake.
- Vorverarbeitung: Mit den bereits vertrauten APIs im Sklearning-Stil können Sie gängige Vorverarbeitungs- und Feature-Engineering-Tasks direkt an Daten in Snowflake durchführen und dabei von der verbesserten Performance und der Parallelisierung von Snowflake für die Skalierung auf große Datasets mit verteilter Ausführung auf mehreren Knoten profitieren.
- Modellierung: Sie können Modelle für beliebte scikit-learn und xgboost Modelle direkt mit Daten in Snowflake trainieren. Enthalten sind vertraute APIs für die schlüsselfertige Ausführung von Modelltrainings, ohne dass Sie dazu gespeicherte Prozeduren oder UDFs manuell erstellen müssten.
Snowpark ML Operations API (Private Preview) – Enthält die Snowpark Model Registry (Private Preview) zur unkomplizierten Bereitstellung registrierter Modelle für Inferenzen unter Verwendung der skalierbaren und zuverlässigen Snowflake-Infrastruktur.
Aktualisierungen am Warehouse-Laufzeitvertrag
User Defined Aggregate Functions (UDAFs) (Private Preview) – Benutzer:innen können Funktionen schreiben, die auf Werte über mehrere Zeilen hinweg angewendet werden und als Ergebnis einen einzelnen aggregierten Wert zurückgeben. Dadurch sind nahtlose, benutzerfreundliche kundenspezifische Aggregations-Szenarien in Snowpark möglich.
Vektorisierte UDTFs (demnächst in Public Preview) – Benutzer:innen können Tabellenfunktionen schreiben, die auf Partitionen als Pandas DataFrames operieren und Ergebnisse als Pandas Dataframe oder Listen mit Pandas Series/Arrays zurückgeben. Vektorisierte UDTFs ermöglichen eine nahtlose partitionsweise Verarbeitung im Gegensatz zur zeilenweisen Verarbeitung von skalaren UDTFs. Da es schneller ist, DataFrames zu verketten, als Daten Zeile für Zeile in der Prozessfunktion zu erfassen, wird die Performance verschiedener Anwendungsfälle verbessert, z. B. verteiltes Training mehrerer unabhängiger Modelle (z. B. Hyper Parameter Tuning), verteilte Zeitreihenanalyse/Prognose, Modellinferenz mit mehreren Outputs usw.
Anonyme gespeicherte Prozeduren (GA) – Erstellen und rufen Sie eine anonyme Prozedur auf, die wie eine gespeicherte Prozedur funktioniert, aber nicht zur späteren Verwendung gespeichert wird. Diese Methode eignet sich hervorragend für die Entwicklung von Snowpark-Anwendungen/Integrationen, bei denen die Ausführung von Snowpark-Codes erforderlich ist, die nicht persistent sein müssen. So nutzen beispielsweise dbt Python-Modelle und Snowflake Python Worksheets anonyme Sprocs hinter den Kulissen.
Gespeicherte Prozeduren mit Tabellenausgabe in Python (Public Preview) – Bisher konnten gespeicherte Prozeduren nur skalare Werte ausgeben. Ab sofort können sie Ergebnisse in Form von Tabellen ausgeben, sodass die Benutzer:innen als Teil ihres Snowpark-Codes bequem eine Tabelle für die nachfolgende Verarbeitung ausgeben können.
Neuerungen: DevOps in Snowflake
Neben den oben genannten Snowpark-Erweiterungen haben wir auf dem Summit eine Reihe von Neuerungen für Snowflake DevOps angekündigt. Diese Verbesserungen erleichtern die Arbeit mit, die Verwaltung, das Testen und die Anwendung von Snowpark-Code. Die wichtigsten Updates umfassen:
Protokollierung und Nachverfolgung mit Event Tables (Public Preview) – Benutzer:innen können Protokolle und Traces von ihren UDFs, UDTFs, gespeicherten Prozeduren und Snowpark-Containern instrumentieren, wobei diese nahtlos an eine sichere, kundeneigene Event Table weitergeleitet werden. Die Telemetrie von Logging- und Trace-Ereignissen in Event Tables kann von Benutzer:innen abgefragt und analysiert werden, um Fehler in ihren Anwendungen zu beheben oder Erkenntnisse über Performance und Verhalten ihres Codes zu gewinnen. In Verbindung mit anderen Telemetriefunktionen wie Snowflake Alerts und E-Mail-Benachrichtigungen können Kunden über neue Ereignisse und Fehler in ihren Anwendungen informiert werden.
Python Tasks API (demnächst in Private Preview) – Besteht aus erstklassigen Python-APIs zur Entwicklung und Verwaltung von Snowflake Tasks/DAGs.
Snowpark Local Testing (Private Preview) – Benutzer:innen können eine Snowpark-Session und DataFrames ohne eine Live-Verbindung mit Snowflake erstellen. Mit einer lokalen Session können Benutzer:innen ihre Snowpark-Testreihen beschleunigen und Credits sparen. Dann können sie nahtlos zu einer Live-Verbindung wechseln, ohne den Code ändern zu müssen.
Native Git Integration (demnächst in Private Preview) – Snowflake unterstützt ab sofort die native Integration mit Git-Repository! Dank dieser Integration können Benutzer:innen von einem Snowflake-Konto aus eine sichere Verbindung zu einem Git-Repository herstellen und von jedem Zweig/Tag/Commit in Snowflake auf die Inhalte zugreifen. Nach der Integration können Benutzer:innen UDFs, gespeicherte Prozeduren, Streamlit Apps und andere Objekte entwickeln, indem sie einfach auf das Repository verweisen und eine Verzweigung erstellen, wie sie es bei einer Datei auf einer Stage tun würden.
Snowflake CLI (Private Preview) – Open-Source-Befehlszeilenschnittstelle (Command Line Interface, CLI), mit der Entwickler unkompliziert Apps erstellen, verwalten, aktualisieren und anzeigen können, zusammen mit Build-Automatisierung und CI/CD-Funktionen für App-zentrierte Workloads.
Triggered Tasks (Private Preview) – Mit diesem neuen Task-Typ können Benutzer:innen die Daten in einem Snowflake Stream effizienter nutzen. Früher konnten Tasks bereits innerhalb von 1 Minute ausgeführt werden. Mit Triggered Tasks können Daten aus einem Daten-Stream unmittelbar nach ihrem Eintreffen abgerufen werden, was die Latenzzeit erheblich reduziert, die Ressourcennutzung optimiert und die Kosten senkt.
Diese neuen Aktualisierungen für Snowpark und DevOps optimieren die Programmierung für alle Python-Entwickler:innen. Sie können in ihrer gewohnten Art und Weise arbeiten und profitieren gleichzeitig von den Governance- und Performance-Vorteilen von Snowflake. Dank dieser Verbesserungen können Data Engineers nahtlos von Spark für ELT/ETL migrieren, Data Scientists können ML-Modelle nativ erstellen und einsetzen und Datenentwickler:innen können Anwendungen mit Snowpark entwickeln.
Snowpark– Was steckt dahinter?
Lesen Sie diese ausführlichen Blogbeiträge und schauen Sie sich die Videos des Snowpark-Engineering-Teams an, um mehr über die Entstehung von Snowpark, die Funktionsweise und die einfache und sichere Verarbeitung von Python/Java/Scala-Code in Snowflake zu erfahren.
Customer Success Stories
In den Monaten seit seiner GA-Ankündigung beim Snowday im November 2022 verzeichnet Snowpark für Python weiterhin ein starkes Wachstum mit einer Verdreifachung der Kundenzahl. Tausende von Kunden beschleunigen die Entwicklung und Performance ihrer Workloads mit Snowpark für Python für Data Engineering und ML-Anwendungsfälle.
OpenStore ist ein E-Commerce-Unternehmen, das für große Datentransformationen von PySpark auf Snowpark umgestiegen ist und eine 87%ige Verringerung der gesamten Durchlaufzeit, eine 25%ige Steigerung des Durchsatzes und eine 80%ige Verringerung der Stunden für die technische Wartung verzeichnen konnte.
Intercontinental Exchange, die Muttergesellschaft der NYSE, nutzt Snowpark, um Daten-Pipelines zu optimieren und Kosten für geschäftskritische Anwendungen für das regulatorische Reporting zu sparen.
EDF Energy ist ein führender Energieanbieter in Großbritannien, der mit Snowpark eine intelligente Kunden-Engine aufgebaut hat. „Die Möglichkeit, Data Science Tasks wie Feature Engineering direkt dort auszuführen, wo sich die Daten befinden, ist ein riesiger Vorteil. Unsere Arbeit ist dadurch viel effizienter geworden und macht auch mehr Spaß“, erklärt Rebecca Vickery, Data Science Lead bei EDF.
Bei Bridg ermöglicht Snowpark den direkten Zugriff auf Daten, das Trainieren von Modellen und das Ausführen von Aktionen auf einem Snowflake-Cluster – der dadurch entstandene Prozess ist vollständig integriert, automatisiert und effizient. „Mit Snowflake und Snowpark können wir unsere eigenen maschinellen Lernmodelle viel schneller entwickeln und automatisieren“, so Dylan Sager, Lead Data Scientist bei Bridg.
Das „Snowpark Accelerated“-Programm
Auch das anhaltend große Interesse an unserem Partner-Ökosystem, einschließlich neuer Partnerschaften wie KX, begeistert uns. Im Rahmen des Programms Snowpark Accelerated entwickeln zahlreiche Partner Integrationen, die auf Snowpark für Python aufbauen, um auf Grundlage von Snowflake das Angebot für ihre Kunden zu verbessern.
Schneller und intelligenter arbeiten mit Snowpark
Bei Snowpark dreht sich alles darum, auf unkomplizierte Weise Großes mit Daten zu erreichen und dabei die Einfachheit, Skalierbarkeit und Sicherheit der Snowflake-Plattform beizubehalten. Wir sind gespannt, was Sie mit Snowpark für Python entwickeln werden.
Um Ihnen den Einstieg zu erleichtern, empfehlen wir Ihnen diese Ressourcen: