Aller au contenu principal

Se connecter à dbt Core

Cette page explique ce qu'est dbt, comment installer dbt Core et comment se connecter. La version hébergée de dbt, appelée dbt Cloud, est également disponible. Pour plus d'information, consultez Connecter à dbt Cloud.

Qu'est-ce que dbt ?

dbt (data build tool) est un environnement de développement pour la transformation des données par l'écriture d'instructions de sélection. dbt transforme ces instructions de sélection en tables et en vues. dbt compile votre code en SQL brut, puis exécute ce code sur la base de données spécifiée dans Databricks. dbt prend en charge les modèles de codage collaboratif et les bonnes pratiques, y compris le contrôle de version, la documentation et la modularité.

dbt n'extrait ni ne charge de données. dbt se concentre uniquement sur l'étape des transformations, en utilisant une architecture « transformer après le chargement ». dbt suppose que vous avez déjà une copie de vos données dans votre base de données.

dbt Core vous permet d'écrire du code dbt dans l'IDE de votre choix sur votre machine de développement locale, puis d'exécuter dbt à partir de la ligne de commande. dbt Core inclut la Command Line Interface (CLI) dbt. Le dbt CLI est gratuit et open source.

dbt Core (et dbt Cloud) peuvent utiliser des repository Git hébergés. Pour plus d'informations, voir Création d'un projet dbt et Utilisation d'un projet existant sur le site web de dbt.

Prérequis d'installation

Avant d'installer dbt Core, vous devez installer les éléments suivants sur votre machine de développement locale :

  • Python 3.7 ou version ultérieure
  • Un utilitaire pour créer des environnements virtuels Python (tel que pipenv)

Vous avez également besoin de l'un des éléments suivants pour vous authentifier :

  • (Recommandé) dbt Core activé en tant qu'application OAuth dans votre compte. C'est activé par default.

    (Facultatif) IdP personnalisé pour la connexion dbt, voir Configurer la SSO dans Databricks.

  • Un jeton d'accès personnel

remarque

En tant que bonne pratique de sécurité, lorsque vous vous authentifiez avec des outils automatisés, des systèmes, des scripts et des applications, Databricks vous recommande d'utiliser des jetons OAuth.

Si vous utilisez l'authentification par jeton d'accès personnel, Databricks recommande d'utiliser des jetons d'accès personnels appartenant aux Service Principal plutôt qu'aux utilisateurs du Workspace. Pour créer des jetons pour les Service Principals, consultez Gérer les jetons pour un Service Principal.

Étape 1 : Installer l'adaptateur dbt Databricks

Nous vous recommandons d’utiliser un * environnement virtuel Python * car il isole les versions de package et les dépendances de code dans cet environnement spécifique, indépendamment des versions de package et des dépendances de code dans d’autres environnements. Cela permet de réduire les incohérences inattendues des versions de package et les collisions de dépendances de code.

Databricks recommande la version 1.8.0 ou supérieure du package dbt-databricks.

important

Si votre machine de développement locale utilise l'un des systèmes d'exploitation suivants, vous devez d'abord effectuer des étapes supplémentaires : CentOS, MacOS, Ubuntu, Debian et Windows. Consultez la section « Votre système d'exploitation a-t-il des prérequis ? » de Utiliser pip pour installer dbt sur le site web de dbt Labs.

Étape 2 : Créez un projet dbt et spécifiez et testez les paramètres de connexion.

Créer un dbt projet (une collection de répertoires et de fichiers associés nécessaires pour utiliser dbt). Vous configurez ensuite vos profils de connexion, qui contiennent les paramètres de connexion à un compute Databricks, à un SQL warehouse, ou aux deux. Pour renforcer la sécurité, les projets et profils dbt sont stockés par default à des emplacements distincts.

  1. L'environnement virtuel étant toujours activé, exécutez la commande dbt init avec le nom du projet. Cette procédure d'exemple crée un projet nommé my_dbt_demo.

    Bash
    dbt init my_dbt_demo
  2. Lorsque vous êtes invité à choisir une base de données databricks ou spark, saisissez le numéro correspondant à databricks.

  3. Lorsque l'on vous demande une valeur host, procédez comme suit :

  4. Lorsque vous êtes invité à saisir une valeur http_path, faites ce qui suit :

  5. Pour choisir un type d'authentification, entrez le nombre qui correspond à use oauth (recommandé) ou use access token.

  6. Si vous avez choisi use access token comme type d'authentification, saisissez la valeur de votre jeton d'accès personnel Databricks.

remarque

En tant que bonne pratique de sécurité lorsque vous vous authentifiez avec des outils, des systèmes, des scripts et des applications automatisés, Databricks vous recommande d'utiliser des jetons OAuth.

Si vous utilisez l'authentification par jeton d'accès personnel, Databricks recommande d'utiliser des jetons d'accès personnels appartenant aux Service Principal plutôt qu'aux utilisateurs du Workspace. Pour créer des jetons pour les Service Principals, consultez Gérer les jetons pour un Service Principal.

  1. Lorsque vous êtes invité à saisir la valeur du desired Unity Catalog option parameter, entrez le nombre qui correspond à use Unity Catalog ou not use Unity Catalog.

  2. Si vous choisissez d'utiliser Unity Catalog, saisissez la valeur souhaitée pour catalog lorsque vous y êtes invité.

  3. Saisissez les valeurs souhaitées pour schema et threads lorsque vous y êtes invité.

  4. dbt écrit vos entrées dans un fichier profiles.yml. L'emplacement de ce fichier est répertorié dans la sortie de la commande dbt init. Vous pouvez également lister cet emplacement ultérieurement en exécutant la commande dbt debug --config-dir. Vous pouvez ouvrir ce fichier maintenant pour examiner et vérifier son contenu.

    Si vous avez choisi use oauth comme type d'authentification, ajoutez votre profil d'authentification machine-à-machine (M2M) ou utilisateur-à-machine (U2M) à profiles.yml.

    Voici un exemple de fichier profiles.yml avec le profil aws-oauth-u2m spécifié. Spécifier aws-oauth-u2m pour target définit le profil U2M comme le profil d’exécution par default utilisé par dbt.

    my_dbt_demo:
    outputs:
    aws-oauth-u2m:
    catalog: uc_demos
    host: "xxx.cloud.databricks.com"
    http_path: "/sql/1.0/warehouses/9196548d010cf14d"
    schema: databricks_demo
    threads: 1
    type: databricks
    auth_type: oauth
    target: aws-oauth-u2m

    Databricks ne recommande pas de spécifier les secrets directement dans profiles.yml. Plutôt, définissez l'ID client et le secret client comme variables d'environnement.

  5. Confirmez les détails de la connexion en exécutant la commande dbt debug sur le répertoire my_dbt_demo.

    Si vous avez choisi use oauth comme type d'authentification, vous êtes invité à vous connecter avec votre fournisseur d'identité.

important

Avant de commencer, vérifiez que votre compute ou votre SQL Warehouse est en cours d'exécution.

Vous devriez voir une sortie similaire à ce qui suit :

Bash
cd my_dbt_demo
dbt debug
Console
...
Configuration:
profiles.yml file [OK found and valid]
dbt_project.yml file [OK found and valid]

Required dependencies:
- git [OK found]

Connection:
...
Connection test: OK connection ok

Étapes suivantes

Ressources supplémentaires