Sylvain Zyssman
Sylvain Zyssman Head Of Engineering - DataOps - Team leader - Challenge seeker | I help companies build scalable, end-to-end, software & data solutions

ETL & ELT

ETL & ELT
Attention : ce site Web propose une approche métaphorique des concepts de big data, de Data Science et de Data Engineering. Ceux-ci sont volontairement simplifiés et certains d'entre eux peuvent être éludés ou approximatifs.

ETL et ELT sont deux concepts basés sur les mêmes étapes, bien qu’exécutés dans un ordre différent.

E : Extract (Extraire)

T : Transform (Transformer)

L : Load (Charger)

Extract

La première étape de notre processus consiste à extraire des données. Dans le monde réel, nous extrayons et collectons des données de différentes sources : APIs, fichiers csv, dumps de bases de données… pour une utilisation ultérieure.

Dans notre boulangerie, les données sont nos ingrédients. Lorsque nous allons les acheter, nous pouvons aller de boutique en boutique pour trouver ce qu’il nous faut. On “extrait” et rassemble des ingrédients, tels quels, pour une utilisation ultérieure.

Dans le monde des données, la phase d’extraction est “brutale”. Nous extrayons l’intégralité des datas de nos sources.. Pas le temps de s’occuper du nettoyage, pour l’instant.

Messy shelves to represent raw data
Les données brutes sont comme ces étagères. Tout s'y trouve, mais elles sont mal rangées et peu pratiques.

C’est pareil pour nos achats. Imaginons que nous avons oublié notre liste d’ingrédients, nous achètons alors des choses dont nous n’aurons peut-être pas besoin, ou plus d’ingrédients que nécessaire (d’ailleurs, qui utilise 1 kg entier de sucre dans un gâteau ^^)

Maintenant que nous avons des données, étape suivante. Alors, T ou L ?

Transform ou Load?

À une certaine époque, le stockage coûtait cher. Il fallait donc traiter (Transform) les données au préalable, pour ne stocker que des données qualifiées. Mais avec la croissance exponentielle des solutions cloud, qui a commencé dans les années 2000, le stockage est devenu de moins en moins un problème. On peut même avoir un stockage illimité, pour quelques centimes par Go/transaction.

Charger (Load) les données avant de les transformer est devenu la norme, dans la majorité des scénarios.

Load

Maintenant que nous avons récupéré nos données (ou nos ingrédients, ici), nous devons les charger (les stocker). Pour les données réelles, les fournisseurs de cloud offrent de nombreuses solutions, les plus populaires étant Amazon S3, Google Buckets et le stockage Azure.

Nos données sont encore brutes, tout comme nos ingrédients (rappelez-vous que jusqu’à maintenant, nous avons simplement acheté de la farine, du sucre, du chocolat, de la crème, etc.) Nous avons tout dans son propre emballage, provenant de différentes sources.

Nous les ramenons à la maison et les stockons “tels quels” dans nos “espaces de stockage”, nos étagères.

Transform

Bon, il faut pâtisser. Cette phase dépend de ce que nous voulons faire de nos données/ingrédients. De nombreuses recettes utilisent les mêmes ingrédients pour des résultats différents.

Un œuf, par exemple, peut être cuit, bouilli, fouetté… Même ingrédient, transformation différente.

Il en va de même avec les données. Un fichier JSON provenant d’une API peut être lu et chargé dans un dataframe pour entraîner des modèles de Machine Learning, ou être analysé pour entrer dans une base de données. Nous pouvons aggréger les données, faire des calculs, s’en servir de base pour créer de nouvelles données…

Tout dépend de notre objectif final. On peut faire des cupcakes, des croissants, des gâteaux de mariage, des beignets… le tout avec les “mêmes” ingrédients.

Avec des données texte par exemple, on peut construire une plateforme de Business Intelligence pour nos utilisateurs, former un modèle d’analyse des sentiments, développer une API, etc.

Consommer la donnée

On récapitule. Nous avons extrait nos données (acheté les ingrédients), les avons chargées (pris les ingrédients à la maison et les avons stockés) et les avons transformées (préparé nos gâteaux).

Maintenant, nos utilisateurs/clients peuvent consommer nos données.

Pastry showcase, like our qualified data
Les données transformées peuvent être consommées par nos utilisateurs.

Tout comme nos clients peuvent acheter nos pâtisseries fraîchement préparées nous pouvons maintenant, avec nos données transformées, fournir une API, créer des analyses personnalisées ou utiliser des outils de Business Intelligence (tels que Power BI, Tableau, Looker…), etc. pour les besoins de nos utilisateurs finaux.

Images from Unsplash (Shayna Douglas, Annie Spratt, Evonne Yuwen)

comments powered by Disqus