Parcours · Data Engineering
Construire les pipelines qui alimentent la donnée
Formats, modélisation, ETL et ELT, dbt, Airflow, Spark, Kafka et mise en production. Chaque leçon associe un cours court et un exercice Python exécuté dans votre navigateur.
51
leçons interactives
9
modules
Ce parcours compte pour plusieurs certifications
Toutes les certifications- Data engineer (Fondamentaux)16 leçons
- Data engineer (Avancé)16 leçons
- Concepteur de bases de données (Avancé)3 leçons
Chaque niveau demande des leçons de plusieurs parcours, puis un examen final corrigé sur nos serveurs. Le diagnostic et le plan de révision sont ouverts sans abonnement.
Certification Central Campus : ni diplôme d'État, ni certification professionnelle enregistrée au répertoire national.
Fondamentaux du Data Engineering
Le rôle du data engineer, l'architecture data moderne en couches et en médaillon, et les grands choix (ETL ou ELT, batch, micro-batch ou streaming).
Le métier de data engineer
Situer le data engineer parmi les métiers de la data et relier chaque incident de production à l'exigence qu'il viole.
Ouvrir la leçonETL vs ELT
Comprendre les deux grandes stratégies d'intégration de données, et ce que coûte une règle de transformation fausse dans chacune.
Ouvrir la leçonL'architecture data moderne
Visualiser le chemin de la donnée, des sources jusqu'aux usages, et remonter les couches pour localiser une valeur aberrante.
Ouvrir la leçonArchitecture médaillon : bronze, silver, gold
Organiser un lakehouse en trois couches, bronze brut, silver typé et dédoublonné, gold métier, avec une quarantaine pour les rejets.
Ouvrir la leçonBatch vs streaming
Distinguer batch, micro-batch et streaming, et choisir à partir de la latence que le métier exige vraiment.
Ouvrir la leçonFormats & stockage
CSV et JSON et leurs pièges, stockage ligne ou colonne, Parquet et Avro, partitionnement et compression : comment ranger la donnée pour la lire vite et la faire évoluer.
CSV et JSON : les formats texte et leurs pièges
Séparateurs, guillemets, encodage, virgule décimale, dates ambiguës et codes postaux tronqués : lire un export texte sans perdre de données.
Ouvrir la leçonStockage ligne vs colonne
Simuler la même requête sur une table rangée en lignes puis en colonnes, et mesurer ce que l'encodage par dictionnaire fait gagner.
Ouvrir la leçonParquet : le colonnaire de référence
Row groups, statistiques min/max et predicate pushdown : simuler ce que Parquet saute, et voir pourquoi trier avant d'écrire change tout.
Ouvrir la leçonAvro & évolution de schéma
Format ligne à schéma embarqué : classer chaque changement de schéma en backward, forward, full ou cassant, puis relire les anciennes données.
Ouvrir la leçonPartitionnement & compression
Partitionner pour ne lire que l'utile (pruning), compresser, repérer les petits fichiers à compacter et connaître le clustering moderne.
Ouvrir la leçonIngestion & transformation
Extraire, nettoyer, structurer et charger la donnée : API paginées et reprises, filtrage avec quarantaine, aplatissement du JSON, upsert paramétré, ingestion incrémentale par watermark et Change Data Capture (CDC).
Extract : API paginées, limites de débit et reprises
Parcourir une API page par page avec un curseur, encaisser les erreurs 429 et 5xx par un backoff exponentiel et reprendre là où l'on s'était arrêté.
Ouvrir la leçonTransform : nettoyer, filtrer et mettre en quarantaine
Convertir les types, écarter les valeurs invalides en gardant une trace de chaque rejet et normaliser les enregistrements conservés.
Ouvrir la leçonAplatir du JSON imbriqué
Transformer des documents JSON avec objets imbriqués et tableaux en une table à plat : une ligne par élément, champs absents à NULL.
Ouvrir la leçonLoad : dédupliquer et générer un upsert paramétré
Mapper la donnée vers le schéma cible, dédupliquer par clé avec une règle de départage explicite, puis charger par lot avec un upsert paramétré.
Ouvrir la leçonIngestion incrémentale (watermark)
Ne charger que ce qui a changé depuis le dernier run grâce à un watermark sur updated_at, sans perdre les lignes à horodatage égal ni celles validées en retard.
Ouvrir la leçonChange Data Capture (CDC)
Lire les changements dans le journal de la base, au format d'enveloppe Debezium, et les appliquer dans le bon ordre pour reconstruire l'état de la cible.
Ouvrir la leçonModélisation analytique
Choisir entre entrepôt, lac et lakehouse, comprendre les tables ouvertes Iceberg et Delta Lake, puis modéliser en étoile selon Kimball (grain, faits, dimensions) et historiser les dimensions avec les Slowly Changing Dimensions.
Entrepôt, lac et lakehouse
Choisir une architecture de stockage analytique selon le volume, les formats, le besoin transactionnel, le budget et les usages BI ou ML.
Ouvrir la leçonTables ouvertes : Iceberg et Delta Lake
Comprendre ce qu'ajoute un format de table ouvert à des fichiers Parquet : métadonnées, snapshots et time travel, ACID, MERGE, compaction et catalogues.
Ouvrir la leçonSchéma en étoile (Kimball)
Modéliser un mart en étoile : déclarer le grain, placer faits et dimensions, partager des dimensions conformes avec la bus matrix.
Ouvrir la leçonTables de faits et de dimensions
Joindre les faits aux dimensions par clé de substitution, distinguer mesures additives et non additives, connaître les types de tables de faits et la dimension date.
Ouvrir la leçonSlowly Changing Dimensions (SCD)
Historiser une dimension : type 1 (écraser), type 2 (nouvelle version datée avec sa clé de substitution), type 3 (valeur précédente), et rattacher chaque fait à la bonne version.
Ouvrir la leçonTransformation avec dbt
Le « T » de l'ELT : modéliser en SQL versionné avec dbt : modèles staging, graphe de dépendances (ref, sources, sélection), data tests, snapshots SCD2, tests unitaires et contrats, matérialisations et stratégies incrémentales.
dbt : modèles et couche staging
Comprendre qu'un modèle dbt est un simple SELECT versionné compilé en table ou en vue, et écrire une couche staging qui renomme, type et nettoie une source.
Ouvrir la leçondbt : ref(), sources et graphe de dépendances
Relier les modèles avec ref() et source(), comprendre comment dbt en déduit l'ordre de build, et sélectionner une partie du graphe avec --select (modele+, +modele).
Ouvrir la leçondbt : data tests de qualité
Garantir la qualité des modèles avec les data tests dbt (not_null, unique, accepted_values, relationships), les tests singuliers, la sévérité et store_failures.
Ouvrir la leçondbt snapshots : historiser une table (SCD2)
Capturer l'historique d'une table source qui s'écrase avec les snapshots dbt : stratégies timestamp et check, colonnes dbt_valid_from et dbt_valid_to, suppressions à la source.
Ouvrir la leçonTests unitaires et contrats de modèle dbt
Tester la logique d'un modèle dbt sur des données fictives (unit_tests : given, expect) et garantir sa forme avec un contrat (colonnes, types, contraintes).
Ouvrir la leçondbt : matérialisations et modèle incrémental
Choisir comment un modèle est persisté (view, table, ephemeral, incremental) et construire un modèle incrémental fiable : filtre is_incremental() avec recouvrement, unique_key et stratégies incrémentales.
Ouvrir la leçonOrchestration avec Airflow
Planifier, ordonnancer et fiabiliser des pipelines avec Apache Airflow 3 : DAG, parallélisme et slots, timetables et backfill, XCom, Assets et déclenchement par les données, retries, alertes de délai et écritures idempotentes.
Airflow : DAG, opérateurs et parallélisme
Décrire un pipeline comme un graphe de tâches avec le Task SDK d'Airflow 3, puis en déduire les vagues d'exécution parallèle, la durée totale et les cycles interdits.
Ouvrir la leçonAirflow : timetables, catchup et backfill
Planifier un DAG avec Airflow 3 : cron et presets, CronTriggerTimetable par défaut ou intervalle de données, logical_date, catchup et backfill géré par le scheduler.
Ouvrir la leçonAirflow : dépendances et XCom
Câbler fan-out et fan-in, passer des petites valeurs entre tâches avec XCom et faire transiter les données par un stockage objet, dont seul le chemin circule.
Ouvrir la leçonPlanification par les données : Assets et déclencheurs
Déclencher un DAG quand ses données sont prêtes plutôt qu'à heure fixe : Assets producteurs et consommateurs, conditions ET/OU, watchers, capteurs et opérateurs différables, comparaison avec Dagster et Prefect.
Ouvrir la leçonAirflow : retries, alertes de délai et robustesse
Rendre une tâche résiliente avec Airflow 3 : retries et backoff exponentiel plafonné, execution_timeout, on_failure_callback, Deadline Alerts à la place des anciens SLA, et écriture idempotente par delete-insert paramétré.
Ouvrir la leçonTraitement distribué & streaming
Apache Spark 4 (lazy evaluation, shuffle, skew et AQE) et Apache Kafka 4 (partitions, consumer groups, compaction), puis fenêtrage en event time, watermarks et garanties de livraison : les moteurs du traitement de masse et du temps réel.
Spark : DataFrame & lazy evaluation
Comprendre le calcul distribué de Spark, le DataFrame, les partitions, la différence entre transformations paresseuses et actions, et le rôle du cache.
Ouvrir la leçonTransformations narrow vs wide & shuffle
Distinguer transformations narrow et wide, suivre un groupBy de la phase map au reduce, réduire le shuffle par agrégation locale et éviter le shuffle d'une jointure par broadcast.
Ouvrir la leçonSkew de données et Adaptive Query Execution
Repérer une clé chaude qui crée une tâche traînarde, la neutraliser par salage, broadcast ou Adaptive Query Execution, et vérifier que le résultat reste identique.
Ouvrir la leçonKafka : topics, partitions & consumer groups
Comprendre Kafka 4 : le log partitionné, le routage par clé, les offsets committés, le consumer group qui se partage les partitions et le rejeu depuis un offset.
Ouvrir la leçonKafka : clés, compaction et tombstones
Utiliser un topic compacté comme table d'état : dernière valeur par clé, tombstones pour supprimer, usage pour le CDC, Schema Registry, producteur idempotent et transactions.
Ouvrir la leçonFenêtrage, watermarks & exactly-once
Agréger un flux par fenêtres en event time, borner l'attente des retardataires par un watermark et neutraliser les doublons d'une livraison at-least-once.
Ouvrir la leçonSécurité des données
Protéger ce que les pipelines transportent : droits et rôles, requêtes paramétrées, minimisation et pseudonymisation des données personnelles, secrets, journaux et sauvegardes vérifiées.
Droits et rôles SQL
Moindre privilège, rôles, GRANT et REVOKE : chaque compte n'accède qu'à ce dont il a besoin.
Ouvrir la leçonInjection SQL et requêtes paramétrées
Comprendre comment une saisie sort de sa chaîne SQL, et pourquoi la requête paramétrée règle le problème à la racine.
Ouvrir la leçonDonnées personnelles et minimisation
Repérer les données personnelles d'un flux et ne transporter que ce que la finalité exige.
Ouvrir la leçonPseudonymisation et anonymisation
Remplacer un identifiant par un pseudonyme stable avec une clé secrète, et savoir ce que cela protège ou non.
Ouvrir la leçonChiffrement et gestion des secrets
Chiffrer en transit et au repos, et sortir mots de passe, jetons et clés du code et des dépôts.
Ouvrir la leçonJournalisation et traçabilité
Tracer qui a fait quoi et quand, sans recopier de données personnelles ni de secrets dans les journaux.
Ouvrir la leçonSauvegardes et restauration
La règle 3-2-1, les objectifs de reprise et le test de restauration qui prouve qu'une sauvegarde est exploitable.
Ouvrir la leçonQualité, observabilité & production
Rendre un pipeline digne de la production : idempotence et reprise, contrats de qualité, observabilité et lineage, coûts de l'entrepôt, pipelines de données pour l'IA, puis l'audit qui relie toute la piste.
Idempotence et reprise
Relancer un pipeline sans dupliquer ni perdre de données : clé métier et UPSERT, delete-insert de partition, et le piège de l'overwrite de toute la table.
Ouvrir la leçonQualité des données et contrats
Dimensions de la qualité, contrats de données exécutables (dbt, Great Expectations 1.x, Soda) et seuil de blocage d'un lot.
Ouvrir la leçonObservabilité et data lineage
Les 5 piliers de la data observability, le lineage amont et l'analyse d'impact aval, un moniteur de volume par z-score et OpenLineage.
Ouvrir la leçonCoûts d'un entrepôt cloud : FinOps du data engineer
Volume scanné ou temps de calcul : comprendre la facture d'un entrepôt, réduire les octets lus par projection et pruning, attribuer et plafonner les coûts.
Ouvrir la leçonPipelines de données pour l'IA : documents, découpage et ré-indexation incrémentale
Ingérer des documents, les découper avec recouvrement, ne recalculer que les morceaux modifiés grâce à une empreinte, et propager droits et suppressions jusqu'à l'index.
Ouvrir la leçonBonnes pratiques de production
Synthèse de la piste : auditer un pipeline sur huit pratiques vérifiables (idempotence, modularité, tests, monitoring, documentation, reprise, CI/CD, sécurité).
Ouvrir la leçon