Produkt & Technologie

Zugriff auf PyPI Packages in Snowpark über UDFs und Stored Procedures

Photo illustration of a man using a computer with the Snowpark  icon and PyPI in Snowpark label

HINWEIS: Dieser Beitrag wurde ursprünglich im April 2025 veröffentlicht. Er wurde aktualisiert, um aktuelle Produkte, Funktionen und Funktionalitäten widerzuspiegeln.

Für Entwickler:innen, Data Engineers und Data Scientists, die Snowpark nutzen, besteht eine der größten Herausforderungen darin, auf die benötigten Python-Pakete zuzugreifen und Abhängigkeiten für Pakete zu verwalten, die auf die Stage hochgeladen werden. Snowpark Python unterstützt zwar bereits Anaconda-Pakete und benutzerdefinierte Pakete, doch der fehlende direkte Zugriff auf das riesige Ökosystem des Python Package Index (PyPI) bedeutete zusätzliche Schritte, um Abhängigkeiten zu verwalten und Einschränkungen zu umgehen.

Das ändert sich heute. Unterstützen Sie Ihre Snowpark Python-Entwicklung mit bahnbrechenden Neuigkeiten! Wir freuen uns, den direkten Zugriff auf den riesigen Python Package Index (PyPI) ankündigen zu können, der jetzt allgemein verfügbar ist und Ihren Workflow revolutioniert und beispiellose Flexibilität ermöglicht. Stellen Sie sich vor, Sie integrieren mühelos jedes benötigte Python-Paket direkt in Ihre Snowpark Python-UDFs und Stored Procedures, ohne zu warten. Ja, das haben Sie richtig gehört! Der bewährte Snowflake Anaconda-Kanal bleibt weiterhin verfügbar und Sie haben Sie nun die Freiheit, auf das gesamte PyPI-Ökosystem zuzugreifen, das mehr als 600.000 Python-Pakete hostet. 

Diese neue Funktion vereinfacht Entwicklungsworkflows erheblich und macht es einfacher denn je, Python-gestützte Anwendungen in Snowflake zu entwickeln und zu skalieren.

So funktioniert es

Snowflake verfügt über ein standardmäßiges Artifact Repository, mit dem Benutzer:innen PyPI-Pakete innerhalb von Snowpark-UDFs und Stored Procedures verbinden und installieren können. Gewähren Sie einfach Zugriff auf ein integriertes PyPI-Repository und installieren Sie das Repository-Paket innerhalb einer UDF oder Procedure (weitere Informationen zum Prozess finden Sie in unserer Dokumentation).

Diagram showing how Artifact Repository allows Snowpark users to directly connect and install PyPI packages within UDFs and stored procedures.
Figure 1. The Artifact Repository allows Snowpark users to directly connect and install PyPI packages within UDFs and stored procedures.

„CARTO, eine führende Cloud-native Location-Intelligence-Plattform, arbeitet im EU-finanzierten Projekt EMERALDS mit, um fortschrittliche Mobilitätsanalysen für Trajektoriendaten in die Cloud zu bringen. Bestehende Methoden mit Bibliotheken wie PyMEOS und MovingPandas bieten leistungsstarke Trajektorienanalysen, sind aber für große Datasets oder Echtzeitanwendungen nicht skalierbar. Mit dem Artifact Repository von Snowflake können wir diese Methoden nun als Python-UDFs integrieren und sie so in Snowflake ohne komplexe Datenpipelines leicht zugänglich und skalierbar machen. Dies senkt die Einstiegshürde für Nutzende die Mobilitätsherausforderungen lösen möchten, wie z. B. die Verbesserung von Fahrerassistenztechnologien durch die Analyse der Trajektorien selbstfahrender Autos, die Optimierung von Versicherungsmodellen durch Fahrerverhaltensanalysen und die Verbesserung der Netzwerkplanung durch die Abbildung von Benutzerbewegungsmustern.“

Giulia Carella
Principal Data Scientist, CARTO

Vorteile

Die verbesserte Unterstützung von Snowflake für PyPI-Pakete in Snowpark-UDFs und -Procedures bietet erhebliche Vorteile:

  • Sofortiger Zugriff, kein Aufwand: Jetzt ist jedes PyPI-Paket (whl) zur Hand. 

  • Unbegrenzte Möglichkeiten: Nutzen Sie beliebige .whl-Pakete von PyPI und sogar Snowpark Optimized Warehouse für x86-CPU-Architektur-spezifische Pakete. Bei benutzerdefinierten Paketen können Benutzer:innen diese Pakete auf einer Stage hochladen und sie dann innerhalb einer UDF oder Stored Procedure importieren. 

  • Vereinfachte Entwicklung: Optimieren Sie Ihren Entwicklungsprozess erheblich und machen Sie die Entwicklung und Skalierung von Python-gestützten Anwendungen in Snowflake schneller und einfacher als je zuvor.

So erhalten Unternehmen eine sichere und nahtlose Erfahrung. Benutzer:innen müssen für Datenanalysen oder Data Engineering nicht jedes Mal ein Paket installieren. Stattdessen müssen sie nur den Paketnamen als Teil von ARTIFACT_REPOSITORY_PACKAGES angeben. Unter der Haube wird das Paket in der darunterliegenden Sandbox-Umgebung auf dem virtuellen Warehouse installiert. Zur Vereinfachung bietet Snowflake ein standardmäßiges Artifact Repository namens SNOWFLAKE.SNOWPARK.PYPI_SHARED_REPOSITORY, mit dem Sie PyPI-Pakete verbinden und installieren. Ein ACCOUTADMIN muss Zugriff auf eine ROLE gewähren, um diese Verwendung zu ermöglichen. Hinter den Kulissen werden die Pakete auch zwischengespeichert, um zu vermeiden, dass PyPI jedes Mal getroffen wird, da es die Performance verbessert. 

„Bei Tacoma Public Utilities hosten wir unsere Datenpipelines in Snowflake Python Stored Procedures. Einige davon benötigen Python-Bibliotheken, die nicht im Anaconda-Kanal enthalten sind. Beispielsweise verwenden wir PGPy, um Daten zu verschlüsseln, die wir mit Partnern teilen. Diese analysieren diese, um Möglichkeiten zur Energieeffizienz für unsere Kund:innen zu identifizieren. Bisher war die Einbindung von Nicht-Anaconda-Bibliotheken umständlich und erforderte manuelle Downloads, Uploads in eine Snowflake-Phase und die laufende Pflege statischer Bibliotheksversionen. Mit der neuen Artifact Repository-Funktion können wir nun nahtlos in PyPI integrieren, was die Einrichtung vereinfacht und die manuelle Versionsverwaltung überflüssig macht. Dadurch haben unsere Pipelines stets Zugriff auf die aktuellsten Pakete, was sowohl Effizienz als auch Zuverlässigkeit steigert.“

Nicole Edwards
Data Architecture Manager, Tacoma Public Utilities

Warum es wichtig ist

  • Mit einer größeren Auswahl an Python-Bibliotheken können Entwickler:innen leistungsstärkere Datenapplikationen entwickeln.

  • Data Engineers können ihre Pipeline entwickeln und Pakete (wie Asyncmy, Bitstruct, Stumppy, Sparse usw.) aus PyPI nutzen, um sie für verschiedene Anwendungsfälle wie Datenanreicherung, -erfassung, -umwandlung, -validierung usw. zu verwenden. 

  • Data Scientists können Workflows für maschinelles Lernen nahtlos mit beliebten Paketen wie TensorFlow oder scikit-learn mit den neuesten Versionen von PyPI ausführen.

Erste Schritte

Der Zugriff auf PyPI bedeutet mehr Leistung, mehr Flexibilität und weniger Reibung. Tauchen Sie ein in eine Welt endloser Python-Möglichkeiten und heben Sie Ihre Snowpark-Projekte auf ein neues Niveau.

Sind Sie bereit, die Zukunft der Entwicklung von Snowpark Python zu erleben? Nutzen Sie noch heute den direkten PyPI-Zugriff und sehen Sie den Unterschied! Sehen Sie sich die zugehörige Dokumentation hier an. Darüber hinaus finden Sie in diesem Beitrag ein End-to-End-Beispiel für die Verwendung von Paketen aus PyPI zur Verarbeitung unstrukturierter Daten mit Snowpark. 

Beitrag teilen

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Where Data Does More

  • 30 Tage kostenlos testen
  • Keine Kreditkarte erforderlich
  • Jederzeit kündbar