Mis à jour le Aug. 12, 2022, 7:23 a.m.
Le data engineering fait partie de l'écosystème du big data et est étroitement liée à la science des données aka la data science. Les data engineer font un travail backend, un peu plus tapis dans l'ombre que les data scientists, mais ils sont essentiels au processus de la data science. Les rôles et les responsabilités d'un data engineer varient en fonction du niveau de maturité des données et des effectifs de l'organisation. Cependant, certaines tâches, telles que l'extraction, le chargement et la transformation des données (ETL), sont fondamentales pour la data science.
Au niveau le plus bas, le data engineering implique le déplacement des données d'un système ou d'un format à un autre. Les data engineer interrogent des données à partir d'une source (extraction), ils effectuent certaines modifications des données (transformation), puis ils placent ces données dans un endroit où les utilisateurs peuvent y accéder et savoir qu'elles sont
qualité de production (chargement).
Les termes " extraire ", " transformer " et " charger " sont tout le temps utilisé lorque l'on partle de data engineering. On ne prend même plus la peine de les écrire comme tel, on utilise l'acronyme ETL. Quels fainéant ces g33ks! Mais cette définition est plutot vague.
Mettons qu'un commerçant possède site web ou vous pouvez acheter directement les produits qu'il propose. Le site web est constitué d'une partie frontend (celle que le client/l'acheteur voit) et une partie backend (ce qui se passe en arrière plan). La partie backend contient une base de données relationnelle où chaque transaction est stockée, pour savoir combien d'objet du type A ou du type B le commerçant a vendu sur une période donnée.
Pour l'instant, pas besoin de data engineering car de simples requetes SQL suffisent à répondre à des questions basiques. Mais vous aller en avoir besoin quand le site va grossir, que l'entreprise du commerçant se trouvera en différents endroits, qu'une seule base de données ne suffira plus (une pour les transactions, une pour les localisation géographiques, etc).
C'est là où le data engineer entre en jeu. Il doit s'appliquer à regrouper toutes ces données provenant de différentes sources dans un seul point (data warehouse). Cette disponibilité des données permettra de répondre à des questions plus complexes.
1 - Savoir coder, en python notamment, mais il est possible d'avoir aussi besoin de JAVA, Scala, et bien sûr maîtriser les langages de bases de données comme SQL et NoSQL.
2 - Ëtre familier avec le fonctionnement des bases de données, relationnelles et non relationnelles.
3 - Les ETL. Les outils utilisés pour cette pratique sont nombreux, un des plus utilisé étant Talend.
4 - Le stockage de données Big Data et plus "classique". Il est nécessaire de bien comprendre comment fonctionne un datalake vs un datawarehouse et de savoir en fonction des types de données d'une entreprises, quel type de solution sera la plus appropriée. En effet le cloud a le vent en poupe depuis quelques temps.
5 - Le machine learning: le data engineer et le data scientist travaille en étroite collaboration, et pour comprendre les autres membres de votre équipe, quelques notions même grossière de machine learning vous seront utiles.
6 - Maîtriser les outils comme Hadoop, MongoDB, Kafka, qui sont des outils de "big data"
7 - Le cloud et la sécurité: il est important de maîtriser un peu des deux. Pas besoin d'être un expert en cybersécurité mais il existe des bonnes pratiques que vous devez connaître et appliquer. Il est possible de suivre des certifications pour cela.
C'est tout pour le data engineer, on pourrait aller encore un peu plus loin mais vous avez déjà une bonne base pour continuer vos recherches sur le web :).
N'hésitez pas si vous avez des questions et n'oubliez pas de vous abonner à la chaîne youtube, twitter ou autre si vous avez aimé et que vous voulez continuer d'avoir des articles et des tutos au top XD.