JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

Les outils dans le quotidien d’un Data Engineer

data engineer

À l’ère du Big Data, plusieurs métiers ont émergé, notamment celui du Data Engineer. Si vous ne connaissez pas encore ce métier, je vous recommande d’aller lire cet article en premier, mais pour ceux qui savent ce que fait le Data Engineer, nous allons nous intéresser à la panoplie d’outils qu’il utilise.

Partons de ce schéma, pour avoir en tête les différentes étapes que traversent la donnée. Pour rappel, le Data Engineer va surtout intervenir dans les 3 premières étapes(la dernière concernant les Data Scientist et les Data Analyst). Nous allons évoquer les outils utilisés dans ces étapes mais ils peuvent différer selon les entreprises.

Les sources de données

La première étape est donc de récolter cette donnée à travers des sources de données. Il est commun de retrouver ici Python pour collecter cette donnée. Par exemple, nous allons requêter des API comme OpenWeatherMap pour des données météorologiques ou Binance pour des données financières. Il est tout à fait possible aussi de faire du webscraping pour récupérer des données depuis des pages web via les packages python BeautifulSoup ou Selenium

Avec l’Internet of Things, nous recevons des données en streaming (de manière continue) via des capteurs d’objets connectés. Il est donc important d’entreprendre des actions particulières au bon moment sinon des comportements inattendus peuvent survenir sur nos objets connectés. C’est ici qu’Apache Kafka intervient avec son système de messagerie. Rabbit MQ est aussi utilisé pour traiter des données en streaming, de même que le langage Scala.

Le Stockage des données est aussi un outil utilisé par le data engineer

Une fois les données collectées sous forme de fichier, il est nécessaire de les stocker. Ceci peut être décomposé en deux étapes, comme nous l’avait montré le schéma.
La première étape consiste à stocker les données sans appliquer de transformations.

Dans ce cas, elles sont conservées à l’état brut dans un Data Lake pour une utilisation potentielle de ces données dans le futur. Dans ce Data Lake, les données sont organisées via des métadonnées ou par un système de fichier classique. Avec Hadoop, nous pouvons en constituer un.

Si les données sont prévues à des fins bien spécifiques, le Data Engineer peut aussi les transférer dans un Data Warehouse. Contrairement à un Data Lake, dans un Data Warehouse, les données seront structurées et vont servir directement le Data Analyst ou le Data Scientist. 

Enfin, il est possible d’employer des bases de données pour la conservation des données. Les bases de données relationnelles sont celles qui sont le plus répandues et nous passons par le langage SQL pour les manipuler. De nos jours, nous traitons aussi des données massives et pour manipuler cet amont de données, nous utilisons des bases de données NoSQL.

Par exemple, pour des données semi-structurées, MongoDB se démarque naturellement et dans le cas de données représentant des graphes, Neo4j se distingue. Ainsi, le Data Engineer devra jongler entre différentes bases de données.

Mise en production

Le Data Engineer peut aussi intervenir lors de l’industrialisation des solutions. En effet, le travail réalisé par le Data Scientist ou le Data Analyst n’est pas encore accessible par tous et donc le Data Engineer va créer une API de la solution pour que le client puisse utiliser une interface pour utiliser simplement les modèles de Data Scientist. 

Ensuite, il faut créer un conteneur de notre solution pour son déploiement mais aussi pour la combiner à d’autres composants et pour cela nous passons par l’outil phare Docker.

Le Cloud un des outils indispensable du data engineer

Nous avons listé quelques outils open source, mais de nos jours, il est de plus en plus commun de passer par un fournisseur du cloud comme AWS, GCP ou Azure pour répondre à nos différents besoins. Par exemple, pour utiliser un Data Lake, avec AWS, nous passerons par le S3 tandis que sur GCP cela sera Google Cloud Storage et sur Azure ce sera simplement Azure Data Lake.

Automatisation des flux

Enfin, si l’ensemble de notre pipeline de données est fonctionnel, il faudra automatiser les différentes étapes de notre ETL selon un rythme bien choisi. En effet, les sources de données vont envoyer de la donnée qu’il faudra stocker dans un data lake en un premier temps puis les transformer pour les mettre dans un Data Warehouse ou une base de données. 

Pour cela, nous manipulons un orchestrateur. Le plus connu est Airflow mais si vous avez des données en temps réel, il est préférable d’utiliser Nifi. Si notre pipeline de données est complet , il existe des outils chez les fournisseurs du Cloud tels que Cloud Composer de GCP ou Glue de AWS.

Conclusion

Voilà, vous en savez plus sur les outils les plus utilisés par le Data Engineer. 

Si vous souhaitez apprendre à utiliser l’ensemble des outils que vous venez de voir, n’hésitez pas à découvrir la formation Data Engineer de DataScientest.

Facebook
Twitter
LinkedIn

Tag de l'article :

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone

S'inscrire à la JPO :

Vous souhaitez recevoir notre newsletter data 💌 hebdomadaire ?