Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment automatiser des traitements sur des jeux de données ? #data-pipeline

Il arrive parfois qu’on doive retravailler des données. Prendre par exemple un fichier JSON, CSV ou SQL, le filtrer pour enlever des données, retirer certaines colonnes, fusionner plusieurs sources…etc.

La plupart du temps, cela nécessite de savoir développer, car il n’y a pas d’outil magique pour faire ça. Toutefois, voici un outil qui ne réglera pas TOUS vos problèmes, mais qui vous permettra de transformer vos données avec quelques clics en automatisant tout ça pour gagner du temps. C’est d’ailleurs un outil qui aurait pu se retrouver dans le livre de Fabien Olicard qui donne des tas d’astuces pour mieux utiliser son temps et donc en gagner !

Cet outil s’appelle Glue et il fonctionne un peu à la manière d’un Yahoo! Pipes pour ceux qui ont connu cet outil. En gros vous placez une ou plusieurs sources de données, cela peut être une base MySQL, un fichier JSON, un fichier CSV, Excel, SQLite et j’en passe. Ensuite, vous pouvez agréger ces sources de données, concaténer les données, ou les alléger en supprimant des colonnes ou ne ressortir que certaines données avec des opérateurs (is, equal, empty…etc.).

Diagramme de flux des données pour un pipeline de traitement automatisé de données

Et une fois que votre tambouille est terminée, vous placez un objet Output et vous choisissez un format de sortie (csv, xls, paquet, feather, sqlite, json).

Capture d'écran de l'interface utilisateur pour la configuration d'un pipeline de traitement de données

Une fois que le process est en place, y’a plus qu’à cliquer sur Run pour lancer le traitement et obtenir le fichier de sortie de vos rêves.

Les briques essentielles sont là même si on pourrait se trouver limité par rapport à un Yahoo! Pipes mais la bonne nouvelle, c’est que Glue permet d’intégrer également des fonctions en Python. Cela veut dire que vous pouvez également ajouter votre propre couche de traitement fait maison pour modifier les données. C’est super pratique. D’ailleurs, je vous recommande ce livre pour ceux qui veulent se mettre au Python, un langage simple à apprendre et vraiment hyper puissant.

Schéma d'un pipeline de traitement automatisé de données en utilisant Apache Airflow

Vraiment top !

Graphique montrant l'augmentation de la productivité grâce à l'automatisation des pipelines de traitement de données

Glue est dispo pour macOS, Linux et Windows ici.


Les articles du moment