attività dbt per i processi
Usare l'attività dbt per configurare ed eseguire progetti dbt in Azure Databricks.
Importante
Quando le attività dbt vengono eseguite, Databricks inserisce DBT_ACCESS_TOKEN
per l'entità di sicurezza configurata nel campo Esegui come.
Configurare un'attività dbt
Aggiungere un'attività dbt
dalla scheda Attività nell'interfaccia utente processi eseguendo le operazioni seguenti:
Nel menu a discesa Tipo selezionare
dbt
.Nel menu a discesa Origine è possibile selezionare Area di lavoro per usare un progetto dbt che si trova in una cartella dell'area di lavoro di Azure Databricks o un provider Git per un progetto che si trova in un repository Git remoto.
Se si seleziona Area di lavoro, usare lo strumento di spostamento file fornito per selezionare la directory Progetto.
Se si seleziona il provider Git, fare clic su Modifica per immettere le informazioni Git per il repository del progetto. Vedere Usare Git con i processi.
Se il progetto non si trova nella directory radice del repository, usare il campo Directory progetto per specificare il percorso.
Le caselle di testo comandi dbt sono predefinite con i comandi dbt deps, dbt seed e dbt run. I comandi forniti vengono eseguiti in ordine sequenziale. Aggiungere, rimuovere o modificare questi campi in base alle esigenze del proprio flusso di lavoro. Vedere Che cosa sono i comandi dbt?.
In SQL Warehouse selezionare un'istanza di SQL Warehouse per eseguire l’SQL generato da dbt. Il menu a discesa SQL Warehouse mostra solo i warehouse serverless e SQL PRO.
Specificare un catalogo warehouse. Se non impostato, viene usata l'impostazione predefinita dell'area di lavoro.
Specificare uno schema warehouse. Per impostazione predefinita, viene usato lo schema
default
.Scegliere Calcolo dell'interfaccia della riga di comando dbt per eseguire dbt Core. Databricks consiglia di usare l’elaborazione serverless per i processi oppure un calcolo processi classico configurati con un cluster a nodo singolo.
Specificare una versione
dbt-databricks
per l'attività.Se si usa il calcolo
Serverless
, usare il campo Ambiente e cataloghi per selezionare, modificare o aggiungere un nuovo ambiente. Vedere Installare le dipendenze del notebook.Per tutte le altre configurazioni di calcolo, il campo Cataloghi dipendenti viene popolato con
dbt-databricks>=1.0.0,<2.0.0
per impostazione predefinita. Eliminare questa impostazione e + Aggiungere un catalogo PyPi per associare una versione.Nota
Databricks consiglia di associare le attività dbt a una versione specifica del pacchetto dbt-databricks per assicurarsi che la stessa versione venga usata per le esecuzioni di sviluppo e produzione. Databricks consiglia la versione 1.6.0 o successiva del pacchetto dbt-databricks.
Fare clic su Crea attività.
Che cosa sono i comandi dbt?
Il campo dei comandi dbt consente di specificare i comandi da eseguire usando l'interfaccia della riga di comando (CLI) dbt. Per informazioni dettagliate sull'interfaccia della riga di comando dbt, vedere la documentazione dbt.
Controllare la documentazione dbt per i comandi supportati dalla versione specificata di dbt.
Passare le opzioni ai comandi dbt
La sintassi di selezione del nodo dbt consente di specificare le risorse da includere o escludere in una determinata esecuzione. Comandi come run
e build
accettano flag, inclusi --select
e --exclude
. Per una descrizione completa, vedere la documentazione sulla panoramica della sintassi dbt.
Flag di configurazione aggiuntivi controllano il modo in cui dbt esegue il progetto. Per un elenco dei flag disponibili, vedere la colonna Opzioni della riga di comando nella documentazione dbt ufficiale.
Alcuni flag accettano argomenti posizionali. Alcuni argomenti per i flag sono stringhe. Per esempi e spiegazioni, vedere la documentazione dbt.
Passare variabili ai comandi dbt
Usare il flag --vars
per passare valori statici o dinamici ai comandi nei campi dei comandi dbt.
Si passa un codice JSON delimitato da virgolette singole a --vars
. Tutte le chiavi e i valori in JSON devono essere delimitati da virgolette doppie, come nell'esempio seguente:
dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'
Esempi di comandi dbt parametrizzati
È possibile fare riferimento a valori di attività, parametri di processo e parametri di processo dinamici quando si usa dbt. I valori vengono sostituiti come testo normale nel campo dei comandi dbt prima dell'esecuzione del comando. Per informazioni sul passaggio di valori tra attività o sui riferimenti ai metadati dei processi, vedere Parametrizzare i processi.
Questi esempi presuppongono che siano stati configurati i parametri di processo seguenti:
Nome parametro | Valore parametro |
---|---|
volume_path |
/Volumes/path/to/data |
table_name |
my_table |
select_clause |
--select "tag:nightly" |
dbt_refresh |
--full-refresh |
Gli esempi seguenti illustrano i modi validi per fare riferimento a tali parametri:
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}}
Inoltre, è possibile fare riferimento a parametri dinamici e valori di attività, come negli esempi seguenti:
dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'