← Retourner à la liste des articles
Image blog
Auteur

Par Maxime Jumelle

CTO & Co-Founder

Publié le 5 oct. 2020

Catégorie Data Engineering

Devenir Data Engineer : toutes les infos

Tu as envie de te lancer dans le Data Engineering mais tu ne sais pas par où commencer ? Avec toutes les technologies et outils qu'utilisent les Data Engineers au quotidien, il y a de quoi s'y perdre ...

Mais pas de panique ! Nous sommes justement là pour t'aider à y voir plus clair.

Le Data Engineering en quelques mots

Quel est le quotidien du Data Engineer ? En réalité, tout va dépendre de la taille de l'entreprise, du domaine et de la maturité de l'entreprise par rapport à son infrastructure IT. De manière synthétique, les compétences du Data Engineer peuvent être regroupées en 4 blocs de compétences.

  • La mise en place et la maintenance de systèmes de stockage de fichiers et de bases de données.
  • La création de clusters de calcul parallèle et de systèmes distribués.
  • L'implémentation de systèmes de gestion de données en temps réel (Data Streaming).
  • L'automatisation de pipelines de données et de déploiement de modèles de Machine Learning.

Stockage et bases de données

Une des premières compétences demandées et que l'on retrouve parmi une large partie des Data Engineers est la maîtrise des bases de données et des systèmes de stockage. Le Data Engineer manipule constamment différentes sources de données, aussi bien non structurées (souvent présentes dans le Data Lake) que structurées (plutôt présentes dans le Data Warehouse).

Ainsi, le Data Engineer va jongler entre plusieurs systèmes de gestion de bases de données, chacun supportant un langage de requête (comme le SQL ou le shell mongo par exemple). Aujourd'hui, le Data Engineer doit savoir manipuler plusieurs bases NoSQL, parmi lesquelles BigQuery, Cassandra ou encore MongoDB sont les plus demandées.

Pour gérer de gigantesques tables de données, les choix à privilégier sont du côté des bases dites orientées colonnes, notamment avec BigQuery et ses nombreux tutoriels proposés par Google (qui n'est autre que le créateur de BigQuery).

Enfin, de plus en plus de Data Lake intègrent des bases de données orientées documents, dont aujourd'hui MongoDB, où tu trouveras une introduction ici, est le leader incontesté.

Google BigQuery

Calcul parallèle

Hadoop et Spark, ce sont probablement des mots que tu as déjà entendus. Il s'agit en fait des deux frameworks Big Data les plus populaires. Leur spécialisation ? Le calcul parallèle à (très) grande échelle.

🙋 C'est quoi un framework Big Data ?

Les bases de données permettent de les stocker et de les manipuler pour en extraire des informations. En revanche, lorsque les données sont trop volumineuses, les bases de données ne peuvent plus supporter la charge. C'est ainsi que le framework Big Data va nous permettre de manipuler des données stockées dans des bases sans exécuter les calculs sur ces dernières . On pourra ainsi faire tous les traitements que l'on souhaite tout en gardant la base de données accessible sans qu'elle soit saturée.

Il s'agit d'un incontournable pour le Data Engineer. Dès lors qu'il devra manipuler des dizaines, des centaines, voir des milliers de Go de données, il sera difficile de s'en passer.

La première chose à faire pour le Data Engineer, c'est de bien comprendre le fonctionnement de MapReduce. MapReduce, c'est un algorithme très populaire, initialement développé par Google, pour faire du calcul parallèle sur n'importe quelle taille de données. Il est simple à mettre en place, et fonctionne aussi bien sur des petits jeu de données (~10 Go) que sur de très grandes bases (> 1 To). Si tu veux en savoir plus, Blent a justement fait un webinar d'introduction au calcul parallèle. 😉

Pour aller plus loin avec le calcul parallèle, tu peux notamment suivre la documentation officielle qui te fournira des exemples de code pour t'assurer un bon départ. Gare à l'installation de Java et des dépendances, car il y a plusieurs manipulations à faire niveau système.

Data Streaming

Pour le Data Engineer, il s'agit d'une des compétences les plus difficiles à acquérir. Manipuler et stocker des données en temps réel, ce n'est pas une mince affaire.

Actuellement, il y a plusieurs systèmes de brokers (systèmes de gestion de données en temps réel) sur le marché, majoritairement open source. Parmi les plus populaires, nous trouvons Apache Kafka, qui fut à l'origine développé chez LinkedIn. Ce dernier est spécialement orienté Big Data, lorsque la quantité de données arrivent si rapidement qu'il faut configurer plusieurs serveurs ! Si tu veux connaître tout l'essentiel sur Kafka en 10 minutes, cette vidéo est faite pour toi !

D'autres brokers sont également utilisés, notamment dans les applications, avec RabbitMQ ou ActiveMQ. Pour en savoir plus, Vous pourrez trouver un article assez détaillé ici.

Automatisation et déploiement

Manipuler des données, c'est le coeur de sujet du Data Engineer. Mais cela nécessite d'effectuer des tâches redondantes quotidiennement, ce qui n'est pas toujours la meilleure solution. Par exemple, devoir exécuter tous les jours le calcul de l'inventaire des stocks dans la base de données, c'est quelque chose d'important, mais pour autant de très répétitif. Rien de mieux que d'automatiser cette tâche et de la planifier quotidiennement avec des outils d'automatisation de pipelines

Pour exécuter des traitements Big Data (avec Hadoop et Spark par exemple), un outil d'automatisation souvent mentionné est Airflow, initialement conçu par Airbnb. Avec Airflow, le Data Engineer est capable d'automatiser, de planifier et de monitorer des séquences d'instructions sous forme de graphes, séquentiellement ou de manière parallèle. Tous ces concepts sont détaillés ici.

L'autre solution du moment est le petit dernier de Spotify, avec Luigi (non, pas celui auquel tu penses 🙃), qui dispose d'une interface plus ergonomique.

Tout ceci va permettre au Data Engineer d'automatiser non seulement les pipelines de données, mais également les déploiements de modèles de Machine Learning lorsqu'il travaille en collaboration avec des Data Scientists. Il s'agit donc d'un incontournable lorsque l'on souhaite mettre en production des modèles. Là-aussi, en seulement quelques configurations, Airflow se révèle très efficace pour déployer des modèles.

Concrètement, par où commencer ?

Comme tu as pu le voir, il y a beaucoup d'outils et de technologies différentes, ce qui n'est pas toujours facile à prendre en main au début. Le cas d'apprentissage le plus pertinent est d'avoir un fil rouge, c'est-à-dire un projet dans lequel vont intervenir toutes ces technologies en parfaite harmonie.

De plus, si tu cherches un job de Data Engineer, tu taperas dans l'oeil des recruteurs et des équipes Data si tu montres que tu as mis en place un ou plusieurs projets Data Engineering.

Si tu as aimé cet article, alors tu vas sûrement adorer nos workshops en ligne où l'équipe de Blent te donne plein de bons conseils pour démarrer ta carrière dans la Data !

Articles similaires

Blog

7 févr. 2024

Data Engineering

Pendant de nombreuses années, le rôle des Data Engineers était de récupérer des données issues de différentes sources, systèmes de stockage et applications tierces et de les centraliser dans un Data Warehouse, dans le but de pouvoir obtenir une vision complète et organisée des données disponibles.

Maxime Jumelle

Maxime Jumelle

CTO & Co-Founder

Lire l'article

Blog

4 déc. 2023

Data Engineering

Pour de nombreuses entreprises, la mise en place et la maintenant de pipelines de données est une étape cruciale pour avoir à disposition d'une vue d'ensemble nette de toutes les données à disposition. Un des challenges quotidien pour les Data Analysts et Data Engineers consiste à s'assurer que ces pipelines de données puissent répondre aux besoins de toutes les équipes d'une entreprise.

Maxime Jumelle

Maxime Jumelle

CTO & Co-Founder

Lire l'article

Blog

14 nov. 2023

Data Engineering

Pour améliorer les opérations commerciales et maintenir la compétitivité, il est essentiel de gérer efficacement les données en entreprise. Cependant, la diversité des sources de données, leur complexité croissante et la façon dont elles sont stockées peuvent rapidement devenir un problème important.

Maxime Jumelle

Maxime Jumelle

CTO & Co-Founder

Lire l'article