Produit et technologie

Accéder aux packages PyPI dans Snowpark via des UDF et des procédures stockées

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

Pour les développeurs, data engineers et data scientists utilisant Snowpark, l’un des plus grands défis était d’accéder aux packages Python dont ils avaient besoin et de gérer les dépendances pour les packages téléchargés sur zone de staging. Alors que Snowpark Python prend déjà en charge les packages Anaconda et les packages personnalisés, l’absence d’accès direct au vaste écosystème Python Package Index (PyPI) entraînait des étapes supplémentaires pour gérer les dépendances et contourner les limitations.

Cela change aujourd’hui. Redynamisez votre développement Snowpark Python avec des nouvelles révolutionnaires ! Nous sommes ravis d'annoncer un accès direct au vaste Python Package Index (PyPI), disponible dès maintenant en public preview, qui révolutionne votre flux de travail et vous offre une flexibilité inégalée. Imaginez que vous puissiez facilement intégrer le package Python dont vous avez besoin, directement dans vos UDF Snowpark Python et vos procédures stockées, sans attendre. Oui, vous avez bien entendu ! Tandis que le canal fiable Anaconda de Snowflake reste disponible, vous avez désormais la liberté d’exploiter l’ensemble de l’écosystème PyPI, qui héberge plus de 600 000 packages Python. 

Cette nouvelle fonctionnalité simplifie considérablement les flux de développement, facilitant plus que jamais la création et la mise à l’échelle d’applications basées sur Python dans Snowflake.

Comment ça marche

Snowflake dispose d’un référentiel Artefact par défaut qui permet aux utilisateurs de connecter et d’installer des packages PyPI dans les UDF Snowpark et les procédures stockées. Accordez simplement l'accès à un référentiel PyPI intégré et installez le package de référentiel dans une UDF ou une procédure (obtenez plus de détails sur le processus dans notre documentation).

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.
Quote Icon

CARTO, plateforme leader de l'intelligence de localisation cloud-native, collabore au projet EMERALDS, financé par l'UE, pour apporter des analyses de mobilité avancées pour les données de trajectoire au cloud. Les méthodes existantes utilisant des bibliothèques comme PyMEOS et MovingPandas offrent une analyse de trajectoire puissante mais ne s’adaptent pas aux grands jeux de données ou aux applications en temps réel. Avec le référentiel Artifact de Snowflake, nous pouvons désormais intégrer ces méthodes en tant que UDF Python, les rendant facilement accessibles et évolutives au sein de Snowflake sans pipelines de données complexes. Cela abaisse la barrière d'entrée pour les utilisateurs afin de résoudre des défis de mobilité tels que l'amélioration de la technologie d'aide à la conduite en analysant les trajectoires de voitures autonomes, l'optimisation des modèles d'assurance grâce à l'analyse du comportement des conducteurs et l'amélioration de la planification de réseau en cartographiant les schémas de déplacement des utilisateurs. »

Giulia Carella
Principal Data Scientist, CARTO

Avantages

La prise en charge améliorée de Snowflake pour les packages PyPI dans les procédures et UDF Snowpark offre des avantages significatifs :

  • Accès instantané, sans complexité : maintenant, tout package PyPI (whl) est à portée de main. 

  • Exploiter des possibilités infinies : exploitez tous les packages .whl de PyPI et utilisez même Snowpark Optimized Warehouse pour les packages spécifiques aux architectures de CPU x86. Pour les packages personnalisés, les utilisateurs peuvent télécharger ces packages sur une zone de staging puis les importer dans une UDF ou une procédure stockée. 

  • Développement simplifié : simplifiez radicalement votre processus de développement, en rendant la création et la mise à l’échelle d’applications basées sur Python dans Snowflake plus rapides et plus simples que jamais.

Les entreprises bénéficient ainsi d’une expérience sécurisée et transparente. Les utilisateurs n’ont pas besoin d’installer un package à chaque fois pour une tâche d’analyse de données ou de data engineering. Il leur suffit plutôt de spécifier le nom du package dans ARTIFACT_REPOSITORY_PACKAGES. Sous le capot, le package est installé dans l'environnement de sandbox sous-jacent sur l'entrepôt virtuel. Pour simplifier, Snowflake fournit un référentiel Artefact par défaut appelé SNOWFLAKE.SNOWPARK.PYPI_SHARED_REPOSITORY que vous utilisez pour connecter et installer les packages PyPI. Un ACCOUTADMIN doit autoriser l’accès à un ROLE pour permettre cette utilisation. En arrière-plan, nous mettons également en cache les packages pour éviter de toucher PyPI à chaque fois, car cela contribue à améliorer les performances. 

Quote Icon

Chez Tacoma Public Utilities, nous hébergeons nos pipelines de données dans des procédures stockées Snowflake Python, dont certaines nécessitent des bibliothèques Python non incluses dans le canal Anaconda. Par exemple, nous utilisons PGPy pour chiffrer les données partagées avec des partenaires, qui les analysent pour identifier des opportunités d'efficacité énergétique pour nos clients. Auparavant, l'intégration de bibliothèques non-Anaconda était complexe, nécessitant des téléchargements manuels, des chargements vers une zone de staging Snowflake et une maintenance continue de versions statiques des bibliothèques. Avec la nouvelle fonctionnalité Artifact Repository, nous pouvons désormais nous intégrer de manière transparente avec PyPI, simplifiant la configuration et éliminant le besoin de gestion manuelle des versions. Ceci assure que nos pipelines ont toujours accès aux derniers packages maintenus, améliorant à la fois l'efficacité et la fiabilité. »

Nicole Edwards
Data Architecture Manager, Tacoma Public Utilities

Pourquoi cela est important

  • Les développeurs construisent des applications de données plus puissantes avec un plus grand nombre de bibliothèques Python.

  • Les data engineers peuvent développer leur pipeline et exploiter des packages (comme asyncmy, bitstruct, stumpy, sparse, etc.) à partir de PyPI pour être utilisés dans divers cas d’usage allant de l’enrichissement des données à l’ingestion, la transformation, la validation et bien plus encore. 

  • Les data scientists peuvent exécuter en toute transparence des flux de machine learning en utilisant les packages populaires tels que TensorFlow ou scikit-learn avec les dernières versions de PyPI.

Premiers pas

Obtenir un accès à PyPI signifie plus de puissance, plus de flexibilité et moins de friction. Plongez-vous dans un monde aux possibilités Python infinies et élevez vos projets Snowpark vers de nouveaux sommets.

Vous êtes prêts à expérimenter l’avenir du développement Snowpark Python ? Commencez à utiliser un accès direct à PyPI dès aujourd’hui et voyez la différence ! Veuillez consulter la documentation ici. En outre, vous trouverez dans cet article un exemple de bout en bout d’utilisation de packages de PyPI pour le traitement de données non structurées avec Snowpark. 

Partager cet article

Subscribe to our blog newsletter

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

Démarrez votre essai gratuitde 30 jours

Essayez Snowflake gratuitement pendant 30 jours et découvrez l’AI Data Cloud qui élimine la complexité, les coûts et les contraintes d’autres solutions.