Le Data Engineering avec Snowflake pour les Data Scientists : l’avis de Frédéric Adet, Lead Architect Data Snowflake

Temps de lecture : 5 minutes

Quelles sont les dernières innovations dans le domaine du Data Engineering annoncées lors du Snowflake Summit à San Francisco ? Dans cet entretien, Laurent Letourmy, Head of Data chez Devoteam Data Driven, s’entretient avec Frédéric Adet, Data Architecture Practice Leader, à propos de l’utilisation des notebooks et de Snowpark avec Pandas sur Snowflake.

Comment ces nouvelles approches révolutionnent la manière dont les équipes de data science et les développeurs Python peuvent créer des pipelines de données complexes ?

Une nouvelle approche du Data Engineering

Laurent : Bonjour Frédéric, merci de prendre le temps de partager ton expertise avec nous. Tu as assisté avec Devoteam en Juin à San Francisco au Snowflake Summit. Que retiens-tu de cet événement ?

Frédéric : Salut Laurent ! Une idée qui me vient à l’esprit, à la sortie de la conférence annuelle de Snowflake à laquelle nous avons participé, c’est de parler des nouvelles approches en Data Engineering, notamment à travers l’utilisation des notebooks et de Snowpark avec Pandas.

Ce sujet intéressera particulièrement ceux qui viennent du monde de la data science et les développeurs python, y compris ceux qui utilisent d’autres plateformes Data. L’idée est de montrer comment on peut créer des pipelines de data engineering, collaborer via des notebooks, et faire des choses incroyables, y compris en y intégrant du machine learning et de l’intelligence artificielle, le tout, sans quitter un instant la plateforme Snowflake et sans passage obligé par le langage SQL.

Les avantages des notebooks et Snowpark

Laurent : Très intéressant ! En quoi ces nouvelles méthodes se distinguent-elles des approches traditionnelles avec SQL ou dbt ?

Frédéric : La grande différence, c’est la flexibilité et la collaboration. Avec les notebooks, tu peux mélanger du SQL, du Python, et même du Markdown pour documenter ton travail directement dans le même fichier. L’intégration avec GitHub ou GitLab permet aussi de synchroniser les notebooks, facilitant ainsi la collaboration, la gestion des versions et le déploiement en production via des outils comme GitHub Actions.

En comparaison, les pipelines SQL plus classiques peuvent vite devenir difficiles à lire et à maintenir, surtout quand ils deviennent complexes, ou lorsqu’on n’est pas SQL-native. Avec les notebooks, tu simplifies l’expérimentation et l’itération, tout en gardant une visibilité claire sur ton pipeline pour des développeurs qui sont habitués à gérer du code.

Laurent : Ça semble vraiment puissant ! Est-ce que cela permet de créer des pipelines aussi complexes que ceux construits avec SQL ?

Frédéric : Absolument, et même plus ! Avec les notebooks, tu peux créer des pipelines encore plus complexes sans perdre en lisibilité. Là où un pipeline SQL classique pourrait rapidement devenir indigeste, ici, tu peux structurer ton code de manière plus modulaire et compréhensible.

De plus, avec l’intégration de l’API Pandas, tu as accès à tout l’écosystème de la data science, ce qui facilite l’observabilité, le test, et l’industrialisation de ton pipeline.

Et dbt ?

Laurent : On parle beaucoup de dbt en ce moment. Est-ce que cette approche entre en compétition avec dbt ?

Frédéric : Oui, c’est vrai que dbt est très en vogue, mais il faut se le dire, c’est principalement réservé à la transformation SQL. Avec l’approche notebooks et Snowpark, ce n’est plus un passage obligé, et le plus important est que tu peux capitaliser sur tes compétences python, data science, etc.

Pour les entreprises avec des équipes issues de la data science, cette approche est bien plus naturelle et intuitive. Elles peuvent créer des pipelines sécurisés et sophistiqués sans avoir à changer de paradigme ou à former leurs équipes sur dbt.

Comment se lancer ?

Laurent : Quels seraient tes conseils pour ceux qui voudraient se lancer avec ces nouvelles fonctionnalités ?

Frédéric : Je recommande toujours de commencer par les quickstarts, en particulier ceux orientés data engineering avec Snowpark et l’API Pandas. Notamment celui-ci et celui-ci. C’est une excellente façon de découvrir tout ce que cette approche permet en termes de data engineering et de time-to-market. C’est aussi une manière de voir à quel point cette méthode peut faciliter la vie des équipes tout en augmentant leur efficacité.

J’en profite pour avouer qu’à titre personnel, j’utilise systématiquement les quickstarts pour découvrir les nombreuses features de Snowflake. ChatGPT & Stack Overflow, c’est très bien, mais il ne faut pas oublier l’efficacité redoutable de l’apprentissage par l’exemple.

Ce que ça change pour la Data Science

Laurent : Merci Frédéric, c’est vraiment passionnant. On sent que ce sujet te tient à cœur, cela doit être lié à ton parcours en data science, non ?

Frédéric : Exactement. À mes débuts avec Snowflake, je me demandais comment faire du machine learning avec des données directement dans Snowflake, ce qui était assez compliqué à l’époque.

Aujourd’hui, les data scientists se retrouvent au cœur de la plateforme, et peuvent réaliser toute la chaîne de la data, de l’expérimentation à l’industrialisation, sans avoir à changer de technologies. C’est un vrai plus pour eux, et cela leur permet de jouer un rôle central dans la stratégie data de l’entreprise, dans la core team Data et d’être plus acteur dans la production de plateformes et produits data.

Et maintenant, quelles perspectives ?

Laurent : Pour clôturer ces échanges, quelles sont tes impressions quelques mois après le Snowflake Summit ?

Frédéric : C’était une première pour moi à San Francisco et au Snowflake Summit. J’avais beau m’y être préparé, cette semaine plongé dans des conférences et des ateliers avec des passionnés de toute la planète m’a fait vibrer d’émotions et m’a permis de cristalliser et valider les perspectives Business en termes d’organisation, de méthodologie et de technique que j’envisageais.

Une entreprise qui utilise une plateforme Snowflake peut, avec une core-team organisée, expérimenter, déployer et industrialiser des services, des applications (processus métiers, BI, ML/DL, AI, etc.) simplement et en proposant de la valeur rapidement, se différenciant ainsi facilement de ses concurrents.

Dernier sujet, à peine trois mois après, la très grande majorité des features annoncées sont disponibles sur la plateforme, et leur engagement à délivrer est tenu, tel que l’a annoncé le nouveau CEO.

Commentaires :

A lire également sur le sujet :