Sélectionner une page

Qu’est ce que DBT (Data Build Tool)?

DBT est un outil open-souce qui fait de plus en plus de bruit dans la communauté data analytics. De nombreux data analyst et data engineer ne peuvent plus s’en passer tant il a révolutionné les méthodes de travail des spécialistes de la données.

Mais alors, c’est quoi DBT ? Que fait-on vraiment avec cet outil ? Qui en sont les utilisateurs ? Et comment s’intègre t-il dans les branches métiers ? C’est ce que nous allons voir en détail dans l’article ci-dessous.

1. Définition

DBT signifie Data Build Tool. Ses créateurs le définissent comme “ un outil de transformation de données qui permet aux équipes de déployer rapidement et de manière collaborative du code d’analyse en suivant les meilleures pratiques de software engineering”. En d’autres termes, DBT est un outil qui permet aux spécialistes data de transformer leurs données au sein-même de leur Data Warehouse. L’outil, créé par Fishtown Analytics, est proposé en Open Source (DBT Core) et en version cloud payante (DBT cloud).

DBT est un framework qui combine du SQL et le framework Jinja permettant la mise en place des bonnes pratiques de développement comme le versionning.

Exit l’utilisation de nombreux fichiers .sql où vous stockiez vos requêtes SQL selon chaque besoin particulier, vous avez dorénavant la possibilité d’utiliser 

2. Dans quelle situation utilise-t-on DBT ?

Avec DBT , l’équipe data pourra travailler directement dans le DataWarehouse pour produire des ensembles de données fiables quelque soit l’utilisateur final (reporting BI, Machine Learning ou d’autres applications opérationnelles).

Plus précisément, DBT intervient au niveau du « T » de ELT (Transform) puisque son objectif est de transformer les données directement au sein du Data Warehouse. Il n’extrait ni ne charge des données, mais il est extrêmement efficace pour transformer des données déjà chargées dans votre Data Warehouse. Concrètement la seule fonction de DBT est de prendre du code, de le compiler en SQL, puis de l’exécuter sur votre base de données en créant une connexion à une plate-forme de données que vous aurez choisi (la liste des Data Platforms prisent en charge par l’outil est référencée sur le site de DBT, il comprend entre autres : Snowflake, BigQuery ou encore Databricks).

DBT n’a pas pour mission de faire les calculs mais plutôt de les organiser entre eux. Lorsque l’on utilise DBT, ce n’est ni plus ni moins que des « SELECT » en SQL. DBT se charge de créer les vues, les tables, et de faire le lien entre toutes les requêtes « SELECT » qui auront été écrites.

Comme vu au début de cet article, DBT se présente sous deux formes : DBT Cloud et DBT Core.

  • DBT Cloud est une version hébergée qui rationalise le développement avec un environnement de développement intégré (IDE) en ligne et une interface pour exécuter DBT selon un calendrier.
  • DBT Core est un outil de ligne de commande qui peut être exécuté localement.

3. Qui utilise DBT ? L’arrivée des Analytics Engineers

DBT cible principalement les Data Engineers et les Data Analysts. Pourquoi ? Car ce sont eux qui sont généralement en charge soit de la création des pipelines de données au sein des entreprises soit de fournir des données propres aux utilisateurs finaux.

L’arrivée de DBT a même eu pour conséquence la création d’un nouveau métier, appelé Analytics Engineer qui se situe à la frontière entre les deux premiers.

Un Analytics Engineer devra être capable de créer un modèle utilisable par tout le monde dans l’entreprise et qui devra durer dans le temps. Il met à disposition des datasets propres pour les utilisateurs, modélisant la data d’une manière à leurs permettre de répondre à leurs questions. Alors que le Data Analyst passe la plupart de son temps à analyser les données, l’Analytics Engineer passe sont temps à transformer, tester, deployer et documenter la data. Ils appliques les best practices du software engineering comme le versionning et la CI dans la code base analytics.

Pour résumer, l’Analytics Engineer est comme le libraire des données de l’entreprise. Il range, nettoie, documenter, prépare et met à disposition des employés toutes les données dont ils ont besoin pour répondre à leurs questions Business.

 

4. Ce qu’il faut retenir

  • DBT est un outil accessible à toute personne sachant manipuler le langage SQL 
  • Il permet de gérer la partie “Tranformation” d’un pipeline ELT.
  • Il s’adresse plus particulièrement aux métiers tels que les Analytics Engineers (ce sont eux qui fournissent des ensembles de données propres aux utilisateurs finaux) et les Data Engineers (ils sont capables de gérer toute la partie ELT d’un pipeline de données).