Quand plusieurs data engineer et scientists travaillent sur un même projet, que ce soit en même temps ou les uns à la suite des autres, la collaboration peut être difficile : par exemple, il est fastidieux de comprendre comment s'articulent les fonctions les unes avec les autres à travers les différentes parties de l'application, de suivre les étapes de la transformation, ou encore d'identifier rapidement quelles sont les sources des données. Avoir une structure standard et une définition unifiée des entrées et sorties de données permettrait une meilleure efficacité et d'éviter des erreurs.
Méthodologie
Nous utilisons l'outil Kedro qui permet d'écrire des pipelines reproductibles en Python, qui peuvent être partagées par l'utilisation du contrôle de version type git. Cet outil permet aussi de déclarer un catalogue de données, qui fait un point d'entrée unique et standardisé pour comprendre l'origine des données et leurs destinations. Par exemple, certaines données proviennent d'une base de données, d'autres d'une REST API, et d'autres encore de fichiers plats stockés dans un serveur distant. Toute cette configuration est centralisée dans un fichier et découplée du traitement qui en est fait. Enfin, l'outil permet aussi une visualisation efficace des pipelines de données, pour partager avec des interlocuteurs de différents niveaux. Pour encore plus de standardisation, nous avons développé un âstarterâ, qui permet une configuration de base similaire pour tous les utilisateurs, et de complémenter Kedro avec nos autres outils et packages communs.
Originalité / perspective
Python est un outil très souple et polyvalent qui est largement démocratisé dans l'univers data science en général. Cette souplesse amène une grande variété d'approche pour résoudre un même problème, parfois même à l'intérieur d'une entreprise. Nous avons choisi d'utiliser un framework pour standardiser nos pratiques. Nous avons aussi construit des outils internes autour de Kedro pour compléter et mieux aligner ce framework avec nos besoins. Par exemple, des librairies qui regroupent des actions communes dans nos projets comme la mise en forme de séries temporelles, ou étendre le catalogue de format de données pour supporter les spécificités de nos clients, comme récupérer seulement un sous ensemble de données d'une de leur source à partir de la date du dernier traitement.
Référence : https://kedro.org/