25 points par darjeeling 2025-06-04 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Il s’agit d’une présentation de la PyCon US 2025.

Data science avec DuckDB : dompter un environnement de fichiers complexe - Alex Monahan

Dans la vidéo de présentation d’Alex Monahan, il explique comment DuckDB, une bibliothèque open source de base de données analytique, peut aider les data scientists à gérer et analyser des fichiers de données variés et désordonnés.

Points clés :

  • Le problème du « zoo de fichiers » : les data scientists manipulent d’innombrables fichiers dans des formats variés comme CSV, Parquet ou des feuilles de calcul, qui peuvent être dispersés sur plusieurs emplacements et plateformes cloud. Ces fichiers peuvent être volumineux, très nombreux, mal organisés ou facilement corrompus.
  • Vue d’ensemble de DuckDB : DuckDB est présenté comme « SQLite pour l’analyse ». Open source (licence MIT), c’est une base de données in-process (embarqué) conçue pour les charges de travail analytiques. Il s’installe facilement sans dépendances avec pip install duckdb et peut être utilisé directement dans des scripts Python ou des notebooks.
  • Lecture de formats variés : DuckDB peut lire un large éventail de formats de fichiers, y compris ceux stockés dans des services cloud comme S3. Son lecteur CSV, particulièrement puissant, excelle dans le traitement de fichiers CSV réellement désordonnés et surpasse de nombreux autres outils dans sa capacité à parser correctement des fichiers problématiques.
  • SQL familier et API relationnelle : DuckDB propose une interface SQL conviviale (par exemple, SELECT * est facultatif) ainsi qu’une API relationnelle au style Python. Il permet d’interroger directement les fichiers comme s’il s’agissait de tables, en ne lisant les données qu’au moment nécessaire grâce à une approche lazy.
  • Interopérabilité : il s’intègre de manière fluide avec des bibliothèques de data science populaires comme Pandas et Polars et, comme il s’exécute dans le même processus, permet un échange de données zero-copy.
  • Format de fichier DuckDB : le format de fichier natif de DuckDB est un fichier compressé orienté colonnes unique pouvant stocker plusieurs tables, vues, fonctions SQL et relations. Ce format est modifiable, prend en charge les propriétés ACID et a été conçu pour la vitesse et l’efficacité.
  • Propriétés ACID : DuckDB apporte la robustesse d’une base de données aux workflows de data science grâce à l’atomicité (les changements sont appliqués en totalité ou pas du tout), la cohérence (prévention des problèmes de qualité des données à l’aide de clés), l’isolation (les requêtes simultanées n’interfèrent pas entre elles) et la durabilité (les données validées restent protégées contre la corruption).
  • Cas d’usage : il est utile pour dompter le « zoo de fichiers » en consolidant les données dans un format unique, efficace et interrogeable. Il aide aussi à éviter la création de nouveaux zoos de fichiers au fil des tâches répétitives de data science.
  • Communauté et extensibilité : DuckDB est extensible, et les contributions de la communauté ajoutent la prise en charge de formats comme les fichiers de packages statistiques ou Google Sheets.

Alex Monahan, qui travaille chez DuckDB Labs et MotherDuck (entrepôt de données cloud basé sur DuckDB), a souligné que DuckDB vise à simplifier le traitement des données pour les data scientists en combinant la puissance d’une base de données avec la flexibilité nécessaire à la data science.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.