Focus Formation dbt

Démarrez avec dbt ! Cette formation vous apprendra comment utiliser l’outil phare pour transformer vos données et les rendre accessibles à vos utilisateurs métier, tout en suivant les meilleures pratiques d’ingénierie logicielle.
Thomas, 26 août 2024

Quel que soit le secteur d’activité : finance, retail, marketing, ou encore la santé, les entreprises s’appuient sur les données pour développer leurs produits et leurs services.

Si les technologies modernes sont disponibles pour capturer d’immenses volumes de données, comment permettre à des data analysts de transformer ces données dans un datawarehouse d’une manière simple, fiable et rapide ?

Dbt, data build tool, apporte des réponses à ces enjeux permettant de construire des flux de travail de transformation de données basés sur SQL.

Grâce à dbt, tous les membres de l’équipe vont pouvoir contribuer aux pipelines de données en niveau production en suivant les meilleures pratiques d’ingénierie logicielle (modularité, portabilité, CI/CD, documentation, etc.).

Et grâce à la formation dbt de SFEIR Institute, vous serez en mesure de créer des workflow efficaces de gestion de données avec dbt !

Présentation générale de la formation dbt

La formation dbt dure environ 2 jours (14h) et s’adresse à toute personne intéressée par la transformation des données, en particulier aux data analysts, aux data engineers ou encore aux développeurs.

Cette formation couvre différents sujets (que nous détaillerons plus loin):

  • La construction et la gestion de modèles dbt des concepts de base à des concepts plus avancés
  • Le templating, les variables et les macros
  • Les tests !
  • La génération de documentation

Cette formation est accessible à tous, cependant afin de tirer le maximum parti de cette formation il est recommandé d’avoir des connaissances pratiques du langage SQL.

Pour les participants n’ayant pas de connaissances du langage SQL ou souhaitant rafraîchir leurs connaissances, SFEIR Institute propose un cours parfaitement adapté : SQL les fondamentaux.

Quelles technologies et outils spécifiques d’IA seront abordés dans la formation ?

La formation aborde de concepts présents dans dbt, notamment:

  • Les modèles dbt
  • Les sources et les références
  • L’amorçage (seeding) des modèles
  • Les snapshots
  • Les transformations avancées
  • Les packages
  • Les tests
  • La documentation
  • Les analyses, les hooks et les exposures
  • Les artifacts générés

Quels résultats mesurables ou compétences les employés tireront-ils de cette formation ?

A la fin de cette formation, les participants seront capables de :

  • Comprendre les concepts clés, les avantages et l’architecture de dbt en tant qu’outil de transformation et de modélisation des données.
  • Créer des modèles de données structurés avec dbt, et effectuer des transformations pour traiter et préparer les données en vue de l’analyse.
  • Maîtriser les fonctionnalités avancées telles que les macros, les modèles Jinja, les variables et le contrôle de flux.
  • Utiliser les instantanés (snapshots) dbt pour suivre les changements au fil du temps et gérer les données historiques, facilitant l’analyse des tendances historiques et les dimensions à changement lent.
  • Mettre en œuvre des tests pour garantir la qualité et l’intégrité des données, permettant de valider les résultats des transformations et de détecter les anomalies.

Quels sont les modules composant la formation dbt ?

Cette formation est composée de 12 modules principaux qui couvrent chacun un aspect important de dbt.

Module 1: Evolution des technologies de transformation de données

Le module « Evolution of Data Stack » offre un aperçu de l’évolution des architectures de données depuis les années 1980 jusqu’à nos jours.

Il met en lumière les changements majeurs dans les approches et les technologies utilisées pour gérer et analyser les données à grande échelle, notamment le passage des Data Warehouses aux Data Lakes, puis aux Cloud Data Platforms, Lakehouses et Data Mesh.

Enfin, le module offre une vue d’ensemble de l’architecture moderne des plateformes de données, mettant en évidence l’interconnexion entre les différentes couches et outils, depuis l’ingestion des données jusqu’à leur utilisation dans des applications de Business Intelligence et de Machine Learning.

Il présente également une comparaison détaillée entre les approches ETL et ELT, soulignant leurs implications respectives sur le traitement des données.

Module 2: Introduction à dbt

Ce module présente les concepts fondamentaux de dbt (data build tool) et explique comment démarrer avec cet outil de transformation de données.

Les points clés de dbt sont présentés :

  • Concepts de base de dbt
  • Installation de dbt
  • Commandes CLI de dbt
  • Configuration d’un projet dbt
  • Création d’un premier modèle statique

Le module aborde également :

  • La différence entre dbt Core (open source) et dbt Cloud (version payante)
  • Les caractéristiques de dbt, comme l’utilisation de requêtes SQL SELECT pour les transformations
  • La configuration des fichiers de projet et de profils
  • L’exécution de commandes dbt comme run, seed, test, snapshot et build
  • La connexion à une base de données pour les exercices pratiques

Dans ce module les participants réaliseront, un atelier pratique consistant à installer dbt et à créer un premier projet dbt.

Module 3 : Travailler avec des modèles dbt

Dans ce module, les concepts fondamentaux d’un modèle dbt sont présentés, ainsi que leur fonctionnement et leur organisation au sein d’un projet dbt en particulier :

  • La définition d’un modèle dbt
  • La structure et l’emplacement des fichiers de modèles
  • La configuration des modèles
  • Les stratégies de matérialisation de dbt : vue, table éphémère, matérialisée
  • L’exécution sélective des modèles
  • Le module explique également comment tagger les modèles et autres ressources pour mieux organiser son travail

Au cours de ce module, les participants réaliseront un atelier pratique qui les conduira à créer et configurer leur premier modèle dbt, ainsi qu’à changer les types de materialisation pour en comprendre les impacts.

Module 4 : Sources and References

Ce module présente les concepts de sources et de références dans dbt, qui sont essentiels pour gérer les dépendances entre les modèles et construire le DAG (graphe acyclique dirigé) lors de l’exécution.

Ce module couvre les points clés suivants :

  • Définition et configuration des sources dans dbt
  • Utilisation de la macro source() pour référencer les tables sources
  • Utilisation de la macro ref() pour créer des dépendances entre modèles
  • Propriétés additionnelles des sources (tests, fraîcheur, tags)
  • Vérification de la fraîcheur des sources
  • Bonnes pratiques pour l’utilisation des sources et références

L’atelier pratique du module mettre en œuvre les macros source() et ref() pour créer des dépendances. Les apprenants testerons la tester la création d’une référence circulaire. Enfin ils utiliseront des sélecteurs pour exécuter un seul modèle, ses parents et ses enfants.

Module 5 : Seeding your Data Models

Ce module présente le concept de « seeds » dans dbt, qui sont utilisés pour initialiser de petits ensembles de données statiques dans les modèles.

Ce module couvre les points clés suivants :

  • Définition et utilité des seeds dans dbt
  • Création et population des données de seeds
  • Intégration des seeds avec les modèles dbt

L’atelier pratique propose aux participants d’utiliser des seeds dans leur projet dbt.

Module 6 : Snapshots to manage historical data

Ce module présente le concept de snapshots dans dbt, qui permet de gérer efficacement les données historiques. Les snapshots capturent une représentation ponctuelle d’un modèle de données, créant une copie figée qui peut être interrogée et analysée à un moment précis.

Ce module couvre les points clés suivants :

  • Compréhension des snapshots dans dbt et importance des ssnapshots pour le reporting historique, l’audit des changements de données et la conformité
  • Stratégies de snapshots : timestamp et check
  • Configuration et définition des snapshots
  • Exécution et gestion des snapshots

Dans l’atelier pratique, les participants déclareront et exécuteront leur premiers snapshots dans dbt en utilisant les deux stratégies de snapshots

Module 7 : Advanced Data Transformation and Control

Ce module couvre les techniques avancées de transformation et de contrôle des données dans dbt, en se concentrant sur l’utilisation de Jinja, des variables et des macros.

  • Ce module couvre les points clés suivants :
  • Utilisation de Jinja comme langage de templating dans dbt
  • Définition et utilisation de variables pour rendre les projets plus flexibles
  • Création et utilisation de macros pour du code réutilisable
  • Écriture d’instructions conditionnelles, fonctions et filtres avec Jinja

Dans l’atelier pratique, les participants créeront des variables et des macros.

Module 8 : Dependencies

Ce module présente les packages dbt, qui sont des ensembles de code pré-construits et réutilisables conçus pour accélérer et simplifier les workflows dbt. Les packages contiennent des macros SQL et des modèles adaptés à des tâches spécifiques.

Ce module couvre les points clés suivants :

  • Introduction aux packages dbt
  • Exploration du dbt hub
  • Installation et utilisation des packages dbt
  • Création de son propre package

L’atelier pratique propose de créer un package simple, contenant ses macros, et d’utiliser ce package dans un projet.

Module 9 : Testing

Ce module présente l’importance et l’utilisation des tests dans dbt pour assurer la qualité et la fiabilité des transformations de données et des modèles. Les tests aident à détecter les problèmes potentiels et à renforcer la confiance dans les données produites.

Ce module couvre les points clés suivants :

  • Les types de tests disponibles dans dbt (génériques et singuliers)
  • La configuration et l’exécution des tests
  • L’utilisation de packages pour étendre les capacités de test
  • Les tests unitaires pour les modèles
  • Les bonnes pratiques et considérations pour l’implémentation des tests

L’atelier pratique propose d’ajouter des tests génériques et singuliers dans les sources et les modèles.

Module 10 : Contract and Versions

Ce module présente deux fonctionnalités avancées de dbt : les contrats et le versionnage des modèles. Ces fonctionnalités permettent d’améliorer la qualité des données et la gestion des changements dans les projets dbt.

Ce module couvre les points clés suivants :

  • Utilisation des contrats pour imposer des contraintes sur les données sur les modèles
  • Versionnage des modèles pour suivre les changements au fil du temps
  • Gestion des versions multiples d’un même modèle

Durant l’atelier pratique, les participants ajouteront un contrat à un modèle existant et créeront un modèle multi-version

Module 11 : Documentation

Ce module présente l’importance de la documentation dans les projets dbt et comment la générer, la maintenir et la partager efficacement. Une bonne documentation aide les utilisateurs à comprendre le projet et facilite la collaboration entre les membres de l’équipe.

Ce module couvre les points clés suivants :

  • Génération de documentation avec dbt
  • Documentation des sources, des modèles des seeds, des macros
  • Persistance de la documentation dans la base de données
  • Partage et déploiement de la documentation
  • Visualisation de la lignée des données (data lineage)

L’atelier pratique du module invite les participants à ajouter et de la documentation à leur projet dbt. Cette documentation sera disponible localement. Les participants navigueront également dans la lignée des données

Module 12 : Analyses, Hooks and Exposure

Ce module couvre trois concepts importants dans dbt : les analyses, les expositions et les hooks. Il explique comment générer des requêtes d’analyse, déclarer des expositions pour documenter l’utilisation des données, et exécuter du code personnalisé à différents moments de l’exécution de dbt.

Ce module couvre les points clés suivants :

  • Génération de requêtes d’analyse avec dbt
  • Déclaration et utilisation d’expositions
  • Utilisation de hooks pour exécuter du code personnalisé

L’atelier pratique du module comprend ces trois grands thèmes. Ainsi les participants créeront des requêtes d’analyse, ajouteront une exposition à leur projet et mettront en œuvre les hooks.

Module 13 : Leveraging Generated Artifacts

Ce module traite des fichiers générés par dbt lors de l’exécution, appelés artefacts. Ces fichiers ont plusieurs objectifs, notamment alimenter la documentation générée, enregistrer les statistiques d’exécution et sauvegarder l’état d’exécution.

Ce module couvre les points clés suivants :

  • Fichiers générés lors de l’exécution (catalog.json, sources.json, manifest.json, run_results.json)
  • Compréhension du contenu et de l’utilité de chaque fichier d’artefact
  • Utilisation des artefacts pour le suivi et la surveillance du projet dbt

L’atelier pratique propose aux participants de :

  • Parcourir le répertoire cible et d’examiner les fichiers générés
  • Explorer le contenu du fichier manifest et identifier les informations clés pour surveiller le projet
  • Examiner le fichier de résultats d’exécution et d’imaginer un processus pour surveiller le pipeline dbt

Conclusion et prochaines étapes

Dbt s’est imposé comme un outil majeur des workflow de transformation des données.

La formation SFEIR Institute dbt est la formation idéale pour démarrer sur dbt et apprendre à le mettre en œuvre dans vos projets.

Vous trouverez le programme détaillé à cette url https://institute.sfeir.com/formations/data-analytics-and-ai/dbt/ ainsi que les dates des prochaines formations inter.

Contactez-nous directement pour réserver une formation intra, dédiée à vos équipes ou pour un parcours de formation personnalisé dbt.

Autres articles

Illustration pour l'article Focus formation: Introduction to AI and Machine Learning on Google Cloud
19 août 2024 Focus formation

Focus formation: Introduction to AI and Machine Learning on Google Cloud

L'intelligence artificielle et le machine learning révolutionnent toutes les industries et les acteurs du cloud tels que Google Cloud proposent aux entreprises des environnements de pointe pour exploiter le plein potentiel de l’IA. Les compétences...

Une illustration pour l'article Focus Formation : Google Cloud Fundamentals : Core Infrastructure
02 septembre 2024 Focus formation

Focus Formation : Google Cloud Fundamentals : Core Infrastructure

Le cloud computing révolutionne la manière dont les données sont stockées, traitées et gérées, offrant une flexibilité, une scalabilité et une rentabilité sans précédent. Mais construire ou migrer son infrastructure vers le cloud représente un...

Illustration pour l'article Focus Formation : Google Cloud Big Data and Machine Learning Fundamentals
03 septembre 2024 Focus formation

Focus Formation : Google Cloud Big Data and Machine Learning Fundamentals

Le cloud computing révolutionne la manière dont les données sont stockées, traitées et gérées, offrant une flexibilité, une scalabilité et une rentabilité sans précédent. Google Cloud est une plateforme de référence pour permettre aux entreprises...