Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare l'attività dbt per configurare ed eseguire progetti dbt in Azure Databricks.
Importante
Quando le attività dbt vengono eseguite, Databricks inietta il DBT_ACCESS_TOKEN per il principale configurato nel campo Esegui come.
Requirements
L'entità configurata nel campo RunAs deve avere:
- CAN USE nel SQL warehouse che esegue l'SQL generato da dbt.
- I privilegi del catalogo Unity richiesti dai modelli dbt. Ad esempio,
USE CATALOGeUSE SCHEMAnel catalogo e nello schema di destinazione eSELECToMODIFYsugli oggetti letti e scritti dai modelli.
Configurare un'attività dbt
Aggiungere un'attività dbt dalla scheda Tasks (Attività) nell'interfaccia utente Jobs (Processi) eseguendo le operazioni seguenti:
Fare clic
Aggiungere un'attività.
Immettere un nome nel campo Nome attività .
Nel menu a discesa Tipo selezionare
dbt.Nel menu a discesa Source è possibile selezionare Workspace per usare un progetto dbt che si trova in una cartella dell'area di lavoro Azure Databricks o Git provider per un progetto che si trova in un repository Git remoto.
Se si seleziona Workspace, usare lo strumento di spostamento file fornito per selezionare la directory Project.
Se si seleziona il provider Git, fare clic su Modifica per immettere le informazioni Git per il repository del progetto. Vedere Usare Git con processi Lakeflow.
Se il progetto non si trova nella directory principale del repository, usare il campo Directory del 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. Consulta 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 magazzino. Se non impostato, viene usata l'impostazione predefinita dell'area di lavoro.
Specificare lo schema del magazzino. 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'elaborazione classica configurata con un cluster a nodo singolo.
Specificare una versione
dbt-databricksper l'attività.Se si utilizza il calcolo
Serverless, usare il campo Ambiente e Librerie per selezionare, modificare o aggiungere un nuovo ambiente. Vedi Configurare l'ambiente serverless.Per tutte le altre configurazioni di calcolo, il campo Cataloghi dipendenti viene popolato con
dbt-databricks>=1.0.0,<2.0.0per impostazione predefinita. Elimina questa impostazione eAggiungi una libreria PyPi per fissare una versione.
Note
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.
(Facoltativo) Per configurare i nuovi tentativi, i limiti per la durata di esecuzione o per il backlog dello streaming, oppure le notifiche, consulta Impostazioni avanzate dell'attività.
Fare clic su Salva attività.
Per modificare, clonare, disabilitare o eliminare questa attività, vedere Configurare e modificare le attività in Processi Lakeflow.
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 parametri per i flag sono dati di tipo stringa. 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 del parametro | Valore del 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}}"}'
Risorse aggiuntive
- Per definire un compito dbt come codice con Dichiarative Automation Bundles, vedi compito dbt.
- Per un esempio di come recuperare l'output e gli artefatti di un'attività dbt dopo un'esecuzione, vedere Accedere all'output e agli artefatti dell'attività dbt.
- Per eseguire il debug di SQL generato da dbt, usare la cronologia delle query di SQL Warehouse. Visualizza Cronologia query.