Formation dbt : industrialiser vos transformations de données en SQL.
Score de satisfaction : 4.63/5
Durée :
2 jours
Distanciel et 16 villes en France
numero vert : 0805 950 800 (service et appel gratuits)
à partir de
1700 €HT
93% d'avis positifs* participants

Référence :
SF34618
Durée :
2 jours

En présentiel ou distanciel


  • 14 heures de formation
  • Exercices pratiques
  • Prise en charge OPCO possible
Vous souhaitez personnaliser cette formation ?
  • En entreprise ou à distance
  • Cadrage pédagogique gratuit
  • Programme de formation sur mesure
  • Formateur expert dédié
  • Prise en charge OPCO possible

Formation dbt : industrialiser vos transformations de données en SQL.

Passez d'une collection de scripts SQL épars à une chaîne de transformations versionnée, testée et documentée, suivant les pratiques de l'ingénierie logicielle.

dbt (data build tool) est devenu l'outil de référence du Modern Data Stack pour transformer les données directement dans le data warehouse, en SQL. Cette formation de 2 jours vous apprend à structurer un projet dbt de bout en bout : modèles, sources, matérialisations adaptées, snapshots pour l'historisation, tests automatisés et documentation avec lineage. Vous manipulerez Jinja et les macros pour rendre vos transformations dynamiques et réutilisables, puis intégrerez les packages de l'écosystème dbt. À l'issue de la formation, vous saurez concevoir et faire évoluer un projet dbt selon les conventions staging / intermediate / marts reconnues par la communauté, et aborder sereinement le passage en production.

Objectifs pédagogiques.

1Expliquer le rôle de dbt dans le Modern Data Stack et la logique ELT

2Structurer un projet dbt selon les conventions staging / intermediate / marts

3Développer des modèles SQL dynamiques avec Jinja et les macros

4Choisir la matérialisation adaptée (view, table, incremental, ephemeral) selon le cas d'usage

5Mettre en œuvre des snapshots pour historiser les évolutions de données

6Implémenter des tests automatisés et générer la documentation (lineage) d'un projet dbt

7Intégrer les packages de l'écosystème dbt (`dbt_utils`, `codegen`…)

8Appliquer les bonnes pratiques de passage en production (environnements dev/prod, introduction à la CI/CD)

Prérequis : - Maîtrise solide de SQL (jointures, agrégations, CTE, sous-requêtes)- Familiarité avec un data warehouse (BigQuery, Snowflake, PostgreSQL ou Redshift)- Bases de Git (clone, commit, branche)
Partagez cette formation

Programme de formation dbt : industrialiser vos transformations de données en SQL.

Fondamentaux de dbt et du Modern Data Stack

– Modern Data Stack : positionnement de dbt dans la chaîne data (ingestion, stockage, transformation, restitution)
– ELT vs ETL : pourquoi la transformation se déplace dans le data warehouse
– dbt Core vs dbt Cloud : différences d’usage, arbitrage selon le contexte projet
– Rôle de l’Analytics Engineer : pratiques issues de l’ingénierie logicielle appliquées au SQL

**Exemples d’activités pratiques :**
– Tour d’horizon des composants du Modern Data Stack sur un exemple concret
– Comparaison d’un pipeline ETL classique et d’un pipeline ELT avec dbt

Mise en route d’un projet dbt

– Installation et configuration de l’environnement de développement
– `profiles.yml` et `dbt_project.yml` : configurer la connexion et les paramètres du projet
– Arborescence d’un projet dbt : dossiers `models`, `seeds`, `snapshots`, `macros`, `tests`
– Commandes de base : `dbt debug`, `dbt run`, `dbt compile`, `dbt build`
– Connexion à un data warehouse (BigQuery, Snowflake, PostgreSQL ou Redshift)

**Exemples d’activités pratiques :**
– Création d’un projet dbt connecté à un data warehouse
– Exécution d’un premier modèle de staging sur une table brute
– Exploration des artefacts générés (`target/`, `manifest.json`)

Modèles, sources et matérialisations

– Modèles dbt : écriture en SQL, bonnes pratiques de nommage
– Sources : déclaration YAML des tables brutes, `{{ source() }}` pour les référencer
– Références entre modèles : `{{ ref() }}` et gestion automatique des dépendances (DAG)
– Matérialisations : view, table, incremental, ephemeral — choisir selon le cas d’usage
– Conventions de structuration : staging / intermediate / marts
– Seeds : intégrer des données de référence versionnées dans le projet

**Exemples d’activités pratiques :**
– Construction d’un flux staging → intermediate → marts sur un jeu de données CRM (clients, commandes, produits)
– Comparaison des matérialisations view / table / incremental sur un même modèle
– Ajout d’un seed de référentiel et intégration dans un modèle

Transformations dynamiques avec Jinja et macros

– Syntaxe Jinja dans dbt : variables, blocs, filtres, expressions conditionnelles
– Modèles dynamiques : générer du SQL paramétré (filtrage conditionnel, pivots, boucles)
– Macros : créer des fonctions SQL réutilisables à l’échelle du projet
– Variables de projet : paramétrer un pipeline selon l’environnement
– Hooks : exécuter du code avant ou après un `dbt run`

**Exemples d’activités pratiques :**
– Écriture d’un modèle dynamique avec conditions Jinja
– Création d’une macro pour un calcul transverse (normalisation, cast, formatage)
– Mise en place d’un pre-hook ou post-hook sur un modèle

Fiabilisation : snapshots, tests et documentation

– Snapshots : historiser les évolutions (SCD type 2) sur des dimensions à évolution lente
– Tests built-in : `not_null`, `unique`, `relationships`, `accepted_values`
– Tests personnalisés : écrire des assertions SQL adaptées au métier
– Documentation YAML : décrire modèles, colonnes, sources
– Lineage graph : visualiser les dépendances avec `dbt docs generate` et `dbt docs serve`

**Exemples d’activités pratiques :**
– Mise en place d’un snapshot sur une table de dimensions (ex. clients)
– Ajout d’une suite de tests couvrant les modèles d’un flux complet
– Génération et exploration de la documentation et du lineage du projet

Écosystème et passage en production

– Packages dbt Hub : installer et utiliser `dbt_utils`, `codegen`, packages tiers
– Organisation d’un projet à l’échelle : conventions de nommage, structuration des dossiers
– Environnements multiples : configuration dev / prod, targets, schemas isolés
– Introduction à dbt Cloud : interface, scheduler, déclencheurs
– Introduction à la CI/CD : exécution de `dbt run` et `dbt test` sur pull request (GitHub Actions)

**Exemples d’activités pratiques :**
– Installation et exploitation de `dbt_utils` pour simplifier des modèles existants
– Configuration de deux environnements (dev / prod) avec des targets distincts
– Mise en place d’un workflow GitHub Actions exécutant `dbt build` sur pull request

Notre charte qualité et éthique.

A travers sa Charte Engagement Qualité, Sparks s’engage à tout mettre en œuvre pour que chaque session de formation soit un succès et que votre satisfaction soit totale.

Amandine de Sparks
Des chiffres étincelants.
20 années
à vos côtés
+ de 1000
sujets de formation
8702
stagiaires formés en 2024
252
formateurs actifs en 2024
97,9%
de stagiaires satisfaits
23793
heures de formation réalisées en 2024
HAUT