DBT

Date de dernière mise à jour du plan : 7/01/2025

Durée : 0,5 jour

La formation DBT (Data Build Tool) est dispensée à Nantes, Brest, Paris, Toulouse, Toulouse, Bordeaux, Angers, Lyon, Lille, Montpellier, Toulouse et Rennes.

DBT (Data Build Tool) est un outil open-source permettant de transformer les données directement dans l’entrepôt via des modèles SQL versionnés, testés, documentés et organisés selon des bonnes pratiques d’ingénierie logicielle. DBT s’inscrit dans une approche ELT moderne, où les transformations sont centralisées dans l’entrepôt de données.

Nos formations peuvent se faire en présentiel ou en distanciel, en intra ou inter-entreprises.

Pour toute demande de tarification, nous vous remercions de nous contacter, nous vous transmettrons un devis sous 48 heures maximum.

Objectifs de la formation DBT (Data Build Tool)

  • Comprendre le rôle de dbt dans une architecture data moderne
  • Installer et configurer un projet dbt
  • Structurer efficacement un projet (models, snapshots, tests, macros…)
  • Utiliser les principales configurations d’un modèle
  • Manipuler correctement les références et la logique d’ordonnancement
  • Mettre en pratique via des exercices guidés et un mini-projet

Prérequis de la formation DBT (Data Build Tool)

  • Base en SQL (SELECT, JOIN, CTE)
  • Connaissance générale des entrepôts de données (tables, vues, schémas)
  • Notions en ligne de commande (terminal) recommandées
  • Environnement Python installé (recommandé)

Public visé de la formation DBT (Data Build Tool)

  •  Analystes data souhaitant structurer leurs transformations de données
  • Data engineers débutants
  • Développeurs travaillant avec un entrepôt de données (Snowflake, BigQuery, Redshift…)
  • Toute personne impliquée dans la chaîne d’analyse ou de préparation de données

Programme de la formation DBT (Data Build Tool)

Introduction & positionnement - À quoi sert dbt ?

  • Place de dbt dans la stack moderne
  • Limites des transformations traditionnelles (ETL, views manuelles, scripts SQL)
  • Valeurs ajoutées : versionning, tests, documentation, modularité
  • Architecture et principe de compilation

Les différentes versions de dbt

  • dbt Core vs dbt Cloud
  • Versions open-source
  • Choix selon les cas d’usage en entreprise

Le découpage d’un projet dbt

  • profiles.yml
    • Définition des connexions à l’entrepôt
    • Structure, environnements (dev, prod…)
  • dbt_project.yml
    • Structure globale du projet
    • Paramétrages et configuration par défaut
  • models
    • Organisation en répertoires
    • Modèles staging, intermediate, mart
    • Modèle SQL vs modèle épuré (Jinja)
  • snapshots
    • Suivi des changements temporels
    • Cas d’usage (SCD type 2)
  • tests
    • Tests génériques vs tests personnalisés
    • Qualité, fiabilité et documentation
    • Documentation automatique
  • macros
    • Principes de Jinja
    • Réutilisation de logique
    • Exemples simples de macros utiles

Les principales configurations d’un modèle

  • Materializations : view, table, incremental, ephemeral
  • Configurations clés : unique_key, on_schema_change, tags, docs
  • Héritage des configs dans dbt_project.yml

Références internes et ordonnancement (références, graph DAG)

  • Fonction ref()
  • Dépendances implicites
  • Construction automatique du graph
  • Commandes utiles : dbt run --select, dbt ls, dbt docs generate

Exercices pratiques

Les participants réalisent un mini-projet :

Exercice 1 - Création d’un projet

  • Initialisation d’un projet dbt
  • Configuration du profile

Exercice 2 - Structuration

  • Création de dossiers : staging, intermediate, marts

Exercice 3 - Modèles SQL

  • Création d’un modèle staging
  • Création d’un modèle mart
  • Utilisation de ref()

Exercice 4 - Tests

  • Ajout d’un test unique/not_null
  • Exécution et compréhension des résultats

Exercice 5 - Snapshot

  • Mise en place d’un snapshot simple

Exécution et interprétation

Exercice 6 - Macros

  • Création d’une petite macro réutilisable
  • Application dans un modèle