Ce que vous devez savoir sur ETL
- Posted by Jonas Agbakou
- Categories Business Intelligence, Data Science
- Date 18 mars 2023
- Comments 0 comment
Dans le domaine de la Data Science, plus précisément en Business Intelligence et l’Ingénierie de données, le processus ETL est le plus utilisé pour alimenter un Dashboard.
Dans cet article, je vous explique le fonctionnement d’un ETL et les outils les plus utilisés.
C'est quoi un ETL?
Un ETL est un processus composé d’une phase d’extraction des données brutes à partir d’une ou plusieurs sources de données, de transformations et de chargements dans un entrepôts de données.
Extraction de données :
Lors de la phase d’extraction de données, les données sont extraites à partir d’une ou plusieurs sources. Les sources peuvent être une base de données opérationnelle, un fichier plat, un ERP, un CRM, les données provenant des réseaux sociaux ou toute autre source de données utiles. Généralement, ce sont des données importantes pour des besoins analytiques qui sont extraites.
Transformation de données :
Dans la phase de transformation de données, les données bruites extraites sont transformées dans un format facilitant l’analyse. Cette phase inclut également l’agrégation des données et leurs nettoyages afin de permettre aux Analystes BI de les analyser facilement ou aux ingénieurs Machine Learning de les utiliser comme des entrées aux modèles de Machine Learning.
Chargement de données :
Au cours de la phase de chargements de données, les données obtenues après la phase de transformations sont chargées dans un entrepôt de données. Cet entrepôt de données est considéré comme un magasin de données (Datamart) lorsque les données chargées concernent uniquement un seul sujet, métier ou département.
Différents modes d’exécution d'un ETL
Un processus ETL a deux modes d’exécutions :
- Par lots : dans la pratique les données sont extraites, transformées et chargées par lots (1000 enregistrements par exemple par exécution) à un intervalle de temps régulier (chaque 10 min par exemple);
- En temps réel (avec une faible latence) : dans ce cas, les données sont extraites, transformées et chargées en temps réel. Dans la pratique, il est important de souligner que le Dashbord ne se met pas à jour en temps réel car l’exécution du script de l’ETL nécessite un temps. Ce temps dépend de la complexité du script. On parle plutôt d’une faible latence. Pour cette raison, il est recommandé d’écrire un script bien optimisé afin de diminuer le temps de latence. Il est aussi important de configurer le script de l’ETL pour qu’Il puisse s’exécuter seulement dans le cas où il y a une nouvelle donnée dans la source de données. Cela permet d’éviter l’exécution du script inutilement afin d’optimiser la consommation du mémoire.
Meilleurs Outils d'ETL
Plusieurs outils gratuits et payants peuvent être utilisés pour mettre en place un processus ETL.
Parmi les outils gratuits, nous avons :
- Python : est actuellement l’outil le plus utilisé lorsqu’il s’agit de mettre en place un processus d’ETL. Cela, pour sa flexibilité, simplicité, ses riches librairies orientées Data Ingénierie comme Pandas et PySpark etc. De plus, il permet de transformer facilement des données très complexes.
- JAVA : comme Python, le JAVA est aussi utilisé en entreprise mais il est moins populaire que Python. Le langage JAVA est très rapide et mieux adapté lorsqu’il s’agit de traiter des données volumineuses.
En ce qui concerne les outils payants, les plus populaires sont :
- SSIS : c’est un outil propriétaire de MICROSOFT. Il est souvent utilisé conjointement avec SSAS et SSRS. SSIS est connu pour sa faciliter à prendre en main. Vous n’avez pas besoin d’être un expert en codage avant de mettre en place un processus ETL avec SSIS. De plus, il permet d’intégrer des requêtes SQL. Cependant, l’outil n’est pas très flexible et adapté lorsqu’il s’agit de faire des transformations très complexes.
- Talend : c’est un outil propriétaire de l’entreprise Talend. Il est connu pour sa faciliter à prendre en main. Cependant, l’outil n’est pas aussi adapté lorsqu’il s’agit de faire des transformations très complexes. Dans ce cas, il est préférable d’utiliser les langages de programmation comme Python et JAVA.
Partagez l'article à vos réseaux: on Twitter on Facebook on LinkedIn
Je suis Jonas, un spécialiste passionné du Business Intelligence.
Je fais parler la donnée pour susciter des actions générant de la valeur pour le Business.
Je t'accompagne dans ton voyage vers l'excellence en Business Intelligence, en te transformant d'aspirant ou de débutant en expert BI.