BUILD: The Dev Conference for AI & Apps (Nov. 12-14)

Hear the latest product announcements and push the limits of what can be done in the AI Data Cloud.

Produit et technologie

Snowpark offre des fonctionnalités étendues : conteneurs entièrement gérés, API ML natives, nouvelles versions de Python, accès externe, DevOps améliorées, etc.

Snowpark offre des fonctionnalités étendues : conteneurs entièrement gérés, API ML natives, nouvelles versions de Python, accès externe, DevOps améliorées, etc.

Depuis son lancement il y a deux ans, Snowpark permet aux data scientists, aux data engineers et aux développeurs d’applications de simplifier leurs architectures, d’accélérer le développement et d’optimiser les performances des workloads de Data Engineering et de ML/IA sur Snowflake. Lors de notre Summit cette année, nous avons annoncé une série d’améliorations apportées aux bibliothèques et environnements d’exécution Snowpark, qui simplifient, accélèrent et sécurisent davantage le déploiement et le traitement du code non-SQL dans Snowflake.

Snowpark: ensemble de bibliothèques et d’environnements d’exécution garantissant un déploiement et un traitement sécurisés du code non-SQL code sur le Data Cloud Snowflake.

Bibliothèques familières côté client : Snowpark apporte une programmation de type DataFrame profondément intégrée et des API compatibles OSS aux langages privilégiés par les professionnels des données. Cette solution offre des API familières pour exécuter diverses tâches axées sur les données (préparation, nettoyage et prétraitement des données, par exemple), l’entraînement de modèles et des tâches de déploiement.   De plus, nous sommes heureux d’annoncer la prise en charge d’un ensemble de nouvelles API ML garantissant un développement (public preview) et un déploiement (private preview) plus efficaces des modèles.

Constructions d’exécution flexibles : Snowpark fournit des constructions de calcul et d’exécution flexibles qui permettent aux utilisateurs d’ajouter une logique personnalisée et de l’exécuter sur des entrepôts ou Snowpark Container Services (private preview). Dans le modèle d’entrepôt, les utilisateurs peuvent exécuter et exploiter facilement des pipelines de données, des modèles ML et des applications de données avec des fonctions définies par l’utilisateur (UDF) et des procédures stockées (Stored Procedures, ou sprocs). Pour les workloads nécessitant l’utilisation de matériel spécialisé (processeurs graphiques, bibliothèques/environnements d’exécution personnalisés, par exemple) ou l’hébergement longue durée d’applications full-stack, Snowpark Container Services est la solution idéale.

Associées, ces fonctionnalités offrent des capacités d’extension efficaces qui répondent aux besoins et aux préférences des data engineers, des data scientists et des développeurs. Ainsi, les entreprises n’ont plus à déployer et à gérer des systèmes autonomes complexes qui s’exécutent en dehors de la limite de gouvernance de Snowflake. En rapprochant le calcul au plus près des données, les entreprises peuvent éliminer les silos de données, résoudre les problèmes de sécurité et de gouvernance, mais aussi optimiser leurs opérations, pour une efficacité accrue, tout en évitant les frais de gestion associés à l’infrastructure et aux systèmes supplémentaires.

Dans ce blog, nous allons nous intéresser aux dernières annonces relatives aux bibliothèques client Snowpark et aux améliorations côté serveur apportées aux entrepôts. Pour en savoir plus sur Snowpark Container Services, consultez notre article de blog sur le lancement de la solution, disponible ici.

Nouveauté: Snowpark for Python

La popularité de Python ne cesse de croître, ce qui en fait le langage de référence des data scientists et le troisième langage le plus utilisé par les développeurs. Notre mission consiste à faire de Snowflake la meilleure plateforme pour les utilisateurs de Python. Nous avons donc apporté de nombreuses améliorations et conçu un nouvel ensemble de fonctionnalités pour Snowpark for Python

Mises à jour générales de la plateforme

Prise en charge de Python 3.9 et 3.10 (public preview) : les utilisateurs pourront migrer vers une version plus récente afin de profiter des améliorations apportées à Python et de packages tiers compatibles dans Snowpark.

Prise en charge des nouvelles bibliothèques Python (Anaconda) dans Snowflake : comme la puissance de Python réside dans son riche écosystème de packages open source, Snowpark for Python introduit une innovation open source transparente de niveau professionnel pour le Data Cloud via l’intégration Anaconda.  En tenant compte des commentaires des clients et du tableau d’idées Snowflake, nous continuons à ajouter des packages au référentiel existant de plus de 5 000 packages, disponibles sur le canal Snowflake. Voici quelques ajouts récents et bibliothèques qui seront bientôt disponibles : langchain, implicit, imbalanced-learn, rapidfuzz, rdkit,  mlforecast, statsforecast, scikit-optimize,  scikit-surprise, etc.

Traitement des données non structurées Python (public preview) : le traitement des données non structurées est désormais pris en charge nativement avec Python. Les utilisateurs peuvent utiliser les fonctions définies par l’utilisateur (UDF), les fonctions de table définies par l’utilisateur (UDTF) et les procédures stockées de Python pour lire, traiter et obtenir des informations de fichiers non structurés (images, vidéos, audio ou formats personnalisés, par exemple) de manière sécurisée et dynamique, depuis des zones de préparation internes/externes ou l’emplacement de stockage on-premise.

Accès réseau externe (private preview) : permet aux utilisateurs de se connecter facilement aux points de terminaison externes de leur code Snowpark (UDF/UDTF et procédures stockées) tout en maintenant un niveau élevé de sécurité et de gouvernance.

Politiques des packages Python (private preview) : permettent aux utilisateurs qui disposent des droits appropriés de définir des listes blanches et listes noires pour améliorer la gouvernance des packages Anaconda utilisés sur leur compte. Grâce à cette fonctionnalité, les clients les plus exigeants en matière de sécurité et d’audit peuvent mieux gérer et contrôler l’utilisation des packages Python OSS dans leurs environnements Snowflake.

Mises à jour des bibliothèques client

API ML Snowpark : nous sommes ravis d’annoncer la prise en charge des API ML Snowpark, qui comprennent les API ML Modeling (public preview) et ML Operations (private preview), et faciliteront le déploiement du ML de bout en bout dans Snowflake. 

API ML Modeling Snowpark (public preview)  : dimensionne le feature engineering et simplifie l’entraînement de modèles dans Snowflake.

  • Prétraitement : permet d’effectuer des tâches courantes de prétraitement et de feature engineering directement sur les données dans Snowflake à l’aide d’API familières de type sklearn, mais aussi de profiter de performances accrues et de la parallélisation de Snowflake pour s’adapter aux ensembles de données volumineux avec une exécution multi-nœuds distribuée.
  • Modélisation : permet d’entraîner des modèles pour les modèles populaires scikit-learn et xgboost directement sur les données dans Snowflake. Fournit des API familières pour un entraînement clé en main, sans créer manuellement des procédures stockées ou des UDF.

API ML Operations Snowpark (private preview) : inclut Snowpark Model Registry (private preview) afin de déployer facilement des modèles enregistrés à des fins de déduction à l’aide d’une infrastructure Snowflake évolutive et fiable.

Mises à jour des contrats d’exploitation des entrepôts


Fonctions d’agrégation définies par l’utilisateur (UDAF) (private preview) :
permettent aux utilisateurs de créer des fonctions capables d’exploiter les valeurs de plusieurs lignes et de renvoyer une seule valeur agrégée, afin de créer des scénarios d’agrégation personnalisés transparents et conviviaux dans Snowpark.

UDTF vectorisées (bientôt en public preview) : permettent aux utilisateurs de créer des fonctions de table qui fonctionnent sur des partitions en tant que DataFrames de type panda et renvoient des DataFrames ou des listes de séries/tableaux de type panda. Les UDTF vectorisées assurent un traitement partition par partition en toute transparence au lieu du traitement ligne par ligne des UDTF scalaires.  Comme il est plus rapide de concaténer des DataFrames que de recueillir des données ligne par ligne via la fonction de traitement, cela améliorera les performances de plusieurs cas d'usage, tels que l’entraînement distribué de plusieurs modèles indépendants (réglage au maximum des paramètres, par exemple), les analyses/prévisions de séries temporelles distribuées, la déduction de modèle avec plusieurs sorties, etc.

Procédures anonymes (GA) : permettent de créer et d’appeler une procédure anonyme, qui ressemble à une procédure stockée, mais n’est pas stockée pour une utilisation ultérieure. Cette fonction est parfaite pour créer des applications/intégrations Snowpark exigeant l’exécution (pas obligatoirement persistante) de codes Snowpark. Par exemple, les modèles dbt Python et les feuilles de calcul Snowflake Python utilisent des procédures anonymes en arrière-plan.

Procédures stockées sous forme de tables Python (public preview) : auparavant, les procédures stockées ne renvoyaient que des valeurs scalaires. Désormais, elles peuvent renvoyer des résultats sous forme de tables, ce qui permet aux utilisateurs de renvoyer une table à traiter en aval dans le cadre de leur code Snowpark.

Nouveauté: DevOps dans Snowflake

Outre les améliorations apportées à Snowpark mentionnées ci-dessus, nous avons annoncé lors du Summit une série d’améliorations relatives aux DevOps Snowflake qui permettent d’utiliser, de gérer, de tester et d’exploiter plus facilement le code Snowpark. Voici quelques améliorations notables :

Journalisation et traçage grâce aux tables d’événements (public preview) : les utilisateurs​peuvent utiliser les journaux et traçages de leurs UDF, UDTF, procédures stockées et conteneurs Snowpark. Ils sont ensuite acheminés en toute transparence vers une table d’événements sécurisée du client. La télémétrie des événements de journalisation et de traçage dans les tables d’événements peut être demandée et analysée par les utilisateurs pour dépanner leurs applications ou obtenir des informations sur les performances et le comportement de leur code. En associant cette solution avec d’autres fonctions de télémétrie (notifications par e-mail et alertes Snowflake, par exemple), les clients peuvent être informés de tout nouvel événement et de toute erreur dans leurs applications.

API Python Tasks (bientôt en private preview) : fournit des API Python de pointe pour créer et gérer des Tasks/DAG Snowflake.

Test local Snowpark (private preview) : permet aux utilisateurs de créer une session Snowpark et des DataFrames sans connexion directe à Snowflake. Les utilisateurs peuvent accélérer leurs suites de test Snowpark, économiser des crédits en utilisant une session locale et basculer facilement sur une connexion directe sans modifier leur code.

Intégration Git native (bientôt en private preview) : Snowflake prend désormais en charge l’intégration native aux référentiels Git ! Cette intégration permet aux utilisateurs de se connecter en toute sécurité à un référentiel Git depuis un compte Snowflake et d’accéder au contenu de toute branche/toute balise/tout commit dans Snowflake. Une fois l’intégration terminée, les utilisateurs peuvent créer des UDF, des procédures stockées, des applications Streamlit et d’autres objets en mentionnant simplement le référentiel et la branche comme ils le feraient avec un fichier dans une zone de préparation.

Snowflake CLI (private preview) : interface de ligne de commande open-source qui permet aux développeurs de créer, de gérer, de mettre à jour et d’afficher facilement des applications, mais aussi de concevoir des fonctionnalités d’automatisation et CI/CD pour les workloads centrés sur les applications. 

Tâches déclenchées (private preview) : ce nouveau type de tâche permet aux utilisateurs d’utiliser plus efficacement les données sur un flux Snowflake. Auparavant, il était possible d’exécuter les tâches en 1 minute seulement.  Avec les tâches déclenchées, il est possible d’utiliser les données directement depuis un flux, ce qui permet de réduire la latence, d’optimiser l’utilisation des ressources et de diminuer les coûts.

Ces nouvelles mises à jour de Snowpark et des DevOps simplifient la programmation pour tous les développeurs Python. Ils peuvent ainsi travailler comme ils en ont l’habitude, tout en profitant des avantages de Snowflake en matière de gouvernance et de performances.  Ces améliorations permettront également aux data engineers de migrer en toute transparence depuis Spark pour l’ELT/ETL, aux data scientists de créer et déployer des modèles ML natifs, et aux développeurs d’applications de créer des applications à l’aide de Snowpark.

Pour aller plus loin sur Snowpark

Consultez les vidéos et blogs suivants de l’équipe d’ingénierie de Snowpark pour en savoir plus sur la conception et le fonctionnement de Snowpark, mais aussi pour découvrir comment cette solution permet de traiter facilement et en toute sécurité du code Python/Java/Scala dans Snowflake.

Témoignages clients

Au cours des mois qui ont suivi son annonce globale lors du Snowday en novembre 2022, Snowpark for Python a vu sa clientèle multipliée par 3. Des milliers de clients ont accéléré le développement et les performances de leurs workloads grâce à Snowpark for Python pour les cas d'usage de data engineering et de ML. 

OpenStore est une entreprise d’e-commerce qui est passée de PySpark à Snowpark pour gérer ses transformations de données volumineuses. Elle a observé une réduction de 87 % du temps d’exécution de bout en bout, une augmentation de 25 % du débit et une diminution de 80 % des heures de maintenance technique.

Intercontinental Exchange, la société mère de la bourse de New York, utilise Snowpark pour simplifier ses pipelines de données et réaliser des économies pour les applications stratégiques de rapports réglementaires. 

EDF Energy, l’un des principaux fournisseurs d’énergie du Royaume-Uni, utilise Snowpark pour créer un moteur client intelligent. « Snowpark offre des avantages considérables : nous pouvons exécuter des tâches de data science, comme le feature engineering, directement là où les données sont stockées. Notre travail est beaucoup plus efficace et agréable », affirme Rebecca Vickery, Data Science Lead chez EDF. 

Chez Bridg, Snowpark permet d’accéder directement aux données, d’entraîner des modèles et d’exécuter des actions, le tout sur un cluster Snowflake. Le processus est ainsi totalement contrôlé, automatisé et efficace. « Ensemble, Snowflake et Snowpark nous ont permis de développer et d’automatiser plus rapidement des modèles de machine learning propriétaires », précise Dylan Sager, Lead Data Scientist chez Bridg.

Programme Snowpark Accelerated

Nous sommes également ravis de l’immense intérêt porté à notre écosystème de partenaires, notamment aux nouveaux partenariats tels que KX. Dans le cadre du programme Snowpark Accelerated, de nombreux partenaires créent des intégrations exploitant Snowpark for Python afin d’améliorer les expériences proposées à leurs clients en plus de Snowflake.

Travaillez plus rapidement et plus intelligemment grâce à Snowpark

L’objectif de Snowpark est d’aider les utilisateurs à utiliser les données de manière plus efficace, tout en conservant la simplicité, l’évolutivité et la sécurité de la plateforme de Snowflake. Nous avons hâte de voir ce que vous accomplirez grâce à Snowpark for Python. 

Pour vous aider à vous lancer, consultez les ressources suivantes :

Share Article

Subscribe to our blog newsletter

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

Démarrez votre essaigratuit de 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.