Partager via


Tâche dbt pour les projets

Utilisez la tâche dbt pour configurer et exécuter des projets dbt sur Azure Databricks.

Important

Lorsque les tâches dbt s’exécutent, Databricks injecte le DBT_ACCESS_TOKEN pour le principal configuré dans le champ Run As.

Configurer une tâche dbt

Ajoutez une tâche dbt à partir de l’onglet Tâches de l’IU des projets en procédant comme suit :

  1. Dans le menu déroulant Type, sélectionnez dbt.

  2. Dans le menu déroulant Source, vous pouvez sélectionner Espace de travail pour utiliser un projet dbt qui se trouve dans un dossier de l’espace de travail Azure Databricks ou un Fournisseur Git pour un projet qui se trouve dans un dépôt Git distant.

    • Si vous sélectionnez Espace de travail, utilisez le navigateur de fichiers fourni pour sélectionner l’annuaire de projet.

    • Si vous sélectionnez Fournisseur Git, cliquez sur Modifier pour entrer des informations Git pour le référentiel de projet. Consultez Utiliser Git avec des projets.

      Si votre projet ne se trouve pas dans le répertoire racine du repo, utilisez le champ Annuaire du projet pour spécifier le chemin d'accès.

  3. Les zones de texte des commandes dbt contiennent par défaut les commandes dbt deps, cote dbt et exécution dbt. Les commandes fournies s’exécutent dans l’ordre séquentiel. Ajoutez, supprimez ou modifiez ces champs en fonction de votre flux de travail. Consultez Quelles sont les commandes dbt ?

  4. Dans Entrepôt SQL, sélectionnez un entrepôt SQL pour exécuter le SQL généré par dbt. Le menu déroulant Entrepôt SQL affiche uniquement les entrepôts SQL serverless et pro.

  5. Spécifiez un catalogue d’entrepôts. Si elle est annulée, la valeur par défaut de l’espace de travail est utilisée.

  6. Spécifiez un schéma d’entrepôt. Par défaut, le schéma default est utilisé.

  7. Choisissez la capacité de calcul dbt CLI pour exécuter le cœur dbt. Databricks recommande d’utiliser le calcul serverless pour projets ou la capacité de calcul de projets classique configurée avec un groupement à un seul nœud.

  8. Spécifiez une version dbt-databricks pour la tâche.

    Si vous utilisez la capacité de calcul Serverless, utilisez le champ Environnement et bibliothèques pour sélectionner, modifier ou ajouter un nouvel environnement. Consultez Installer les dépendances de notebook.

    Pour toutes les autres configurations de capacité de calcul, le champ Bibliothèques dépendantes est renseigné sur dbt-databricks>=1.0.0,<2.0.0 par défaut. Supprimez ce paramètre et + Ajoutez une bibliothèque PyPi pour épingler une version.

    Remarque

    Databricks vous conseille d’épingler vos tâches dbt à une version spécifique du package dbt-databricks pour vous assurer que la même version soit utilisée pour les exécutions de développement et de production. Databricks recommande le package dbt-databricks 1.6.0 ou une version ultérieure.

  9. Cliquez sur Create task.

Quelles sont les commandes dbt ?

Le champ Commandes dbt vous permet de spécifier les commandes à exécuter à l’aide de l’interface de ligne de commande (CLI) dbt. Pour plus de détails sur CLI dbt, consultez la documentation de dbt.

Consultez la documentation de dbt pour connaître les commandes prises en charge par la version spécifiée de dbt.

Passer des options aux commandes dbt

La syntaxe de sélection de nœud dbt vous permet de spécifier des ressources à inclure ou à exclure dans une exécution particulière. Commandes comme run et build acceptent des indicateurs notamment --select et --exclude. Consultez la documentation de vue d’ensemble sur la syntaxe de dbt pour une description complète.

Des indicateurs de configuration supplémentaires contrôlent la manière dont dbt exécute votre projet. Consultez la colonne Options de la ligne de commande dans la documentation officielle dbt pour une liste d’indicateurs disponibles.

Certains indicateurs prennent en compte des arguments positionnels. Certains arguments pour les indicateurs sont des chaînes. Reportez-vous à la documentation dbt pour des exemples et des explications.

Passer des variables aux commandes dbt

Utilisez l’indicateur --vars pour transférer des valeurs statiques ou dynamiques aux commandes dans les champs de commandes dbt.

Vous passez un JSON délimité par des guillemets simples à --vars. Toutes les clés et valeurs du JSON doivent être délimitées par des guillemets doubles, comme dans l’exemple suivant :

dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'

Exemples de commandes dbt paramétrables

Vous pouvez faire référence aux valeurs des tâches, aux paramètres de projet et aux paramètres de projet dynamiques lorsque vous travaillez avec dbt. Les valeurs sont substituées en texte brut dans le champ commandes dbt avant l’exécution de la commande. Pour plus d’informations sur le transfert de valeurs entre les tâches ou le référencement des métadonnées des projets, consultez Définir les paramètres des projets.

Ces exemples supposent que les paramètres de projet suivants ont été configurés :

Nom du paramètre Valeur du paramètre
volume_path /Volumes/path/to/data
table_name my_table
select_clause --select "tag:nightly"
dbt_refresh --full-refresh

Les exemples suivants présentent des méthodes valides pour référencer ces paramètres :

dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}

Vous pouvez également faire référence à des paramètres dynamiques et à des valeurs de tâches, comme dans les exemples suivants :

dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'