Data engineering

Construire de meilleurs pipelines de données : création et orchestration avec SQL et Python dans Snowflake

Les transformations de données sont la salle des machines des opérations de données modernes : elles alimentent l’innovation en matière d’IA, d’analytique et d’applications. Éléments clés de toute stratégie data efficace, ces transformations sont essentielles pour construire des pipelines de données fiables et évolutifs. Aujourd’hui, nous sommes ravis d’annoncer les dernières avancées produit de Snowflake pour construire et orchestrer des pipelines de données.

À l’ère de l’IA, les pipelines sont aujourd’hui le socle de la réussite des données en aval. Cela place les data engineers dans une position stratégique. Pourtant, nombre d’entre eux doivent constamment jongler entre des priorités concurrentes : 

  • Configuration et gestion des ressources de calcul et de l’infrastructure

  • Débogage entre stacks disparates

  • Suivi et réaction aux modifications des données en amont

  • Maintien de l’agilité et de la sécurité du développement

  • Gestion des complexités associées à l’augmentation des volumes de données, en particulier les données non structurées

Historiquement, la plateforme Snowflake se démarque parce qu’elle résout ces points de friction. Pendant des années, Snowflake s’est efforcé de réduire ces complexités, en concevant une plateforme qui rationalise les flux de travail organisationnels et permet aux équipes data de se concentrer sur ce qui compte vraiment, à savoir l’innovation. En s’enfonçant davantage dans la couche de données brutes pour transférer les données de leur source à leur destination sous forme de jeux de données soigneusement sélectionnés, nous permettons aux data engineers de ne plus se laisser enliser par les frais opérationnels et de devenir au contraire des moteurs d’innovation.

Pour ce faire, nous sommes ravis d’annoncer de nouvelles fonctionnalités améliorées qui simplifient les flux de travail complexes dans l’ensemble du paysage du data engineering, des flux de travail SQL qui prennent en charge la collaboration aux pipelines plus complexes en Python.

Figure 1: Snowflake supports building data pipelines with both SQL and Python transformations, as well as flexible orchestration options to streamline the data lifecycle and support a wide range of use cases and data engineering personas.
Figure 1: Snowflake supports building data pipelines with both SQL and Python transformations, as well as flexible orchestration options to streamline the data lifecycle and support a wide range of use cases and data engineering personas.

Pipelines de données accessibles en SQL

Pour de nombreuses entreprises, les pipelines SQL offrent un accès plus facile à la transformation des données, permettant à un large éventail de membres de l'équipe, tels que les data analysts, de fonctionner indépendamment et d'alléger la charge sur les data engineers. La nature modulaire de ces pipelines, qui peuvent être construits par des utilisateurs aux compétences SQL variées, permet une exécution évolutive et fiable de centaines de flux de travail. Cette approche démocratisée contribue à garantir un socle efficace et adaptable.

Présentation de dbt Projects sur Snowflake (bientôt en public preview)

Les équipes data du monde entier adorent dbt car il apporte les meilleures pratiques et l’efficacité de l’ingénierie logicielle aux flux de transformation des données SQL et Snowpark dans leurs data warehouses. En intégrant dbt directement dans les services gérés et l’automatisation de Snowflake, les data engineers peuvent désormais se concentrer sur la construction, le déploiement et la surveillance de ces pipelines plutôt que sur la gestion de l’infrastructure ou l’assemblage de l’observabilité entre plusieurs systèmes.

Les utilisateurs Snowflake peuvent désormais créer, charger, modifier et exécuter dbt Projects de manière native dans Snowflake (public preview) depuis une nouvelle interface Workspaces. Cette intégration native simplifie le développement et accélère la livraison de données transformées.

Mises à jour des Dynamic Tables

Dynamic Tables fournit un framework de traitement déclaratif pour les pipelines de batch et de streaming. Cette approche simplifie la configuration des pipelines en offrant une orchestration automatique et un traitement continu et incrémentiel des données. Les utilisateurs bénéficient d’une visibilité complète grâce à la visualisation DAG, reçoivent des alertes en temps réel et bénéficient de fonctionnalités intégrées de qualité des données, ce qui conduit à une gestion plus efficace et fiable du pipeline de données. Les mises à jour incluent :

  • Prise en charge d’Apache Iceberg (disponible pour tous nos clients) : les Dynamic Tables incluent désormais des fonctionnalités étendues avec la prise en charge des formats de table ouverts, y compris Apache Iceberg. Les utilisateurs peuvent créer des pipelines de traitement par batch et streaming sur des tables Apache Iceberg™ (en utilisant Snowflake ou un catalogue externe) avec des définitions déclaratives, une orchestration automatique et un traitement incrémentiel. Les données résultantes peuvent être interrogées par n’importe quel moteur Iceberg. 

  • Latence réduite (private preview) : créez des pipelines en temps réel avec une latence de bout en bout (de l’ingestion à la transformation) d’environ 15 secondes. 

  • Améliorations des performances (disponibles pour tous nos clients) : utilisez des actualisations incrémentielles améliorées de OUTER JOINs, QUALIFY RANK () = 1, des fonctions de fenêtre et des tables en cluster, ainsi que de nouvelles optimisations incrémentielles pour CURRENT_TIMESTAMP et IS_ROLE_IN_SESSION.

  • Définition de l’exhaustivité (disponible pour tous nos clients) : les nouvelles extensions SQL, IMMUABLE WHERE et INSERT ONLY, offrent un plus grand contrôle sur l’exhaustivité des données, permettant aux utilisateurs d’empêcher les mises à jour ou les suppressions, de restreindre les modifications de données en fonction de conditions et de remplir les données des pipelines existants pour les migrations.

Développement Python pour l’entreprise

Snowpark permet un développement Python d’entreprise pour la création et la mise à l’échelle de pipelines de données directement dans Snowflake. Grâce à la syntaxe Python familière et aux DataFrames pandas, les transformations complexes s’exécutent en toute transparence à l’aide de notre moteur élastique, éliminant ainsi les mouvements de données pour un traitement efficace des données à grande échelle. Snowpark gère des volumes de données et des demandes de traitement croissants sans frais d’infrastructure, offrant ainsi une solution Python puissante et évolutive.

Mises à jour pandas sur Snowflake

pandas sur Snowflake intègre la flexibilité des pandas à l'évolutivité de Snowflake, simplifiant ainsi le développement de pipelines de données Python robustes. Les utilisateurs peuvent désormais :

  • Se connecter à diverses sources de données, notamment en accédant aux tables Snowflake, aux vues, aux Iceberg Tables, aux Dynamic Tables et aux formats de fichiers courants (CSV, Parquet, Excel, XML) et en les enregistrant.

  • Développer des pipelines pandas qui vont des prototypes initiaux aux déploiements complets en production sans modification du code.

  • Utiliser la syntaxe pandas familière pour exploiter les capacités analytiques de Snowflake en vue d’une transformation flexible des données, y compris les fonctions LLM de Snowflake Cortex AI pour développer des flux de travail alimentés par l’IA.

Grâce aux pandas sur Snowflake, les développeurs peuvent créer des pipelines de données Python de bout en bout en lisant dans une Iceberg Table, transformer des données avec des pandas et enregistrer le pipeline résultant en tant que Iceberg Table dynamique.

Pour prendre en charge les pipelines de pandas à toutes les échelles de données, nous lançons pandas sur Snowflake avec Hybrid Execution (private preview). Cette nouvelle fonctionnalité innovante détermine intelligemment le backend optimal pour exécuter vos requêtes pandas, soit en poussant vers Snowflake pour les jeux de données volumineux, soit en mémoire avec des pandas standard, afin de prendre en charge des tests et des développements interactifs rapides. 

Figure 2: Hybrid execution for pandas on Snowflake intelligently determines whether to run queries by pushing down to Snowflake or locally in-memory with vanilla pandas.
Figure 2: Hybrid execution for pandas on Snowflake intelligently determines whether to run queries by pushing down to Snowflake or locally in-memory with vanilla pandas.

Mises à jour de Snowpark

Snowpark accélère le développement des données en permettant la transformation des données avec Python et d’autres langages dans Snowflake. Cette extensibilité est étroitement intégrée à la sécurité et à l’évolutivité de la plateforme Snowflake, ce qui permet aux développeurs d’utiliser des outils familiers sans déplacement de données ni gestion séparée de l’infrastructure.

Grâce à l’exécution de Snowpark, nos clients ont constaté en moyenne des performances 5,6 fois supérieures et une réduction des coûts de 41 % par rapport aux solutions Spark traditionnelles[1].

Snowpark offre désormais des fonctionnalités améliorées pour rapprocher le code des données de manière sécurisée et efficace entre les langages, avec une prise en charge étendue de l’intégration des données, de la gestion des packages et de la connectivité sécurisée. Les mises à jour incluent :

  • Intégration des données : grâce à la prise en charge de Python DB-API (en private preview), les développeurs peuvent désormais utiliser Snowpark pour extraire les données de bases de données relationnelles externes directement dans Snowflake. Python XML RowTag Reader (private preview) permet de charger de gros fichiers XML imbriqués à l’aide d’une simple option rowTag. Les utilisateurs peuvent ingérer uniquement les parties pertinentes d’un document XML et recevoir des résultats tabulaires structurés pour le traitement en aval. 

  • Gestion des packages : grâce à Artefact Repository (disponible pour tous nos clients), notre prise en charge flexible des packages simplifie la gestion des packages pour télécharger et installer facilement des packages depuis PyPI au sein des fonctions définies par l’utilisateur (UDF) et des procédures stockées Snowpark. Pour ceux qui disposent de packages personnalisés, vous pouvez désormais charger des packages avec du code natif et les importer dans le cadre de vos UDF ou procédures stockées. 

  • Écriture de fichiers depuis Python UD(T)F (disponible pour tous nos clients) : l’introduction de cette fonctionnalité étend les capacités globales de Snowpark pour les cas d’usage de data engineering, en particulier lorsque des écritures parallèles de fichiers personnalisés sont nécessaires avec des UDF. Ces exemples incluent l’écriture de fichiers personnalisés (par exemple, des fichiers modèles, des fichiers non structurés tels que des PDF et des images, ou des fichiers semi-structurés tels que JSON) de la fonction aux stages et la transformation de fichiers dans le cadre de pipelines de données sur le stage. Désormais, vous pouvez transformer des fichiers avro orientés lignes en fichiers JSON et diviser des fichiers volumineux en fichiers plus petits à utiliser dans le cadre d’applications en aval.

Nous avons facilité l’accès aux sources de données et aux points de terminaison externes depuis Snowpark grâce à des fonctionnalités, telles que la prise en charge des wildcards dans les règles réseau, la prise en charge de Allow All pour accéder à n’importe quel point de terminaison dans les règles réseau et l’intégration avec AWS IAM pour simplifier la connectivité aux ressources AWS. En outre, External Access Outbound Private Connectivity est désormais disponible dans d’autres régions, notamment AWS Gov (disponible pour tous nos clients), Azure Gov (disponible pour tous nos clients) et Google Cloud Platform (en private preview).

Automatisation des pipelines

L’orchestration automatisée est intégrée dans les flux de transformation grâce à des fonctionnalités telles que les Dynamic Tables, avec une prise en charge native supplémentaire à l’aide de Snowflake Tasks pour fournir un framework fiable et évolutif pour une exécution cohérente sans les frais opérationnels.

Mises à jour de Tasks et Serverless Tasks

Snowflake Tasks et Serverless Tasks sont idéales pour l’orchestration, car elles vous permettent de définir des flux de travail complexes comme une série d’instructions SQL dépendantes ou du code Python exécuté directement dans Snowflake, éliminant ainsi le besoin d’outils d’orchestration externes. Cette intégration étroite simplifie la gestion et exploite les ressources de calcul robustes de Snowflake pour une automatisation fiable et rentable. Au cours de l’année écoulée, nous avons continuellement amélioré ces capacités d’orchestration native, notamment : 

  • Améliorations de Task Graph : définissez des flux de travail plus riches pour modéliser des pipelines de données avec de nouvelles vues et notifications. Vous pouvez désormais envoyer des notifications aux services de messagerie dans le cloud après avoir terminé avec succès un Task Graph (qui peut déclencher une action en aval) et afficher le graphique des dépendances d’exécution des tâches avec des informations de métadonnées pour les tâches.

  • Tâches déclenchées : exécutez immédiatement des tâches lorsque de nouvelles données arrivent dans les tables sources grâce au traitement basé sur les événements pour SQL et Snowpark. Vous pouvez désormais créer une tâche sans avoir à spécifier de planification ou d’entrepôt virtuel. En outre, vous pouvez exécuter automatiquement des tâches lorsque les données arrivent d’un partage de données ou dans des tables de répertoires (en plus de la prise en charge précédente des tables, des vues, des Dynamic Tables et de Iceberg). 

  • Planificateur de tâches à faible latence : orchestrez de manière fiable des pipelines de données avec des programmations de 10 secondes pour traiter fréquemment les données.

  • Contrôles d’optimisation et de gouvernance : contrôle des optimisations des coûts et des performances sur les Serverless Tasks. 

  • Modification des tâches dans Snowsight : modifiez les tâches existantes dans le menu Action pour modifier la planification, le calcul, les paramètres ou les commentaires. 

  • Automatisation Python/JVM : automatisez les UDF (Python/JVM) et les procédures stockées avec des Serverless Tasks.

Une expérience de pipeline plus complète avec Snowflake

Snowflake continue d’évoluer en tant que moteur central des opérations de données modernes, fournissant une suite complète d’outils pour construire et orchestrer des pipelines de données avec facilité et efficacité. De l’accessibilité de SQL et de la puissance de dbt à la flexibilité de Python via Snowpark et les pandas, ces dernières avancées permettent aux data engineers de surmonter les complexités opérationnelles et de se concentrer sur l’innovation. En rapprochant le code des données, en rationalisant les flux de travail et en améliorant les performances pour divers cas d'usage et ensembles de compétences, Snowflake s'engage à permettre aux équipes data d'exploiter tout le potentiel de leurs données dans le paysage actuel, dynamique et alimenté par l'IA.

Si vous souhaitez en savoir plus sur ces fonctionnalités et plus encore, rejoignez-nous au Data Engineering Connect le 29 juillet 2025. 

 


Déclarations prévisionnelles :

Cet article contient des déclarations prévisionnelles, notamment de futures offres de produits. Il ne constitue en aucun cas un engagement à fournir des offres de produits. Les offres et résultats réels peuvent varier et faire l’objet de risques connus et inconnus, ainsi que d’incertitudes. Découvrez notre dernier 10‑Q pour en savoir plus.

 

1Basé sur des cas d’usage de production et de démonstrations de faisabilité de clients comparant la vitesse et le coût de Snowpark par rapport aux services gérés de Spark entre novembre 2022 et mai 2025. Toutes les conclusions résument les résultats obtenus par nos clients avec des données réelles et ne représentent pas des jeux de données inventés utilisés comme benchmarks.

Subscribe to our blog newsletter

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

Where Data Does More

  • Essai gratuit de 30 jours
  • Aucune carte bancaire requise
  • Annulation à tout moment