Connettersi a dbt Core
Questo zio spiega cos'è dbt, come installare dbt Core e come connettersi. È disponibile anche la versione ospitata di dbt, denominata dbt Cloud. Per altre informazioni, vedere Connettersi a dbt Cloud.
Che cos'è dbt?
dbt (strumento di compilazione dati) è un ambiente di sviluppo per la trasformazione dei dati scrivendo istruzioni select. dbt trasforma queste istruzioni select in tabelle e viste. dbt compila il codice in SQL non elaborato e quindi esegue tale codice nel database specificato in Azure Databricks. dbt supporta modelli di codifica collaborativi e procedure consigliate, tra cui controllo della versione, documentazione e modularità.
dbt non estrae o carica i dati. dbt è incentrato solo sul passaggio di trasformazione, usando un'architettura "transform after load". dbt presuppone che nel database sia già presente una copia dei dati.
dbt Core consente di scrivere codice dbt nell'IDE preferito nel computer di sviluppo locale e quindi eseguire dbt dalla riga di comando. dbt Core include l'interfaccia della riga di comando dbt. L'interfaccia della riga di comando di dbt è gratuita da usare e open source.
dbt Core (e dbt Cloud) può usare repository Git ospitati. Per altre informazioni, vedere Creazione di un progetto dbt e Uso di un progetto esistente nel sito Web dbt.
Requisiti di installazione
Prima di installare dbt Core, è necessario installare quanto segue nel computer di sviluppo locale:
- Python 3.7 o versione successiva
- Utilità per la creazione di ambienti virtuali Python ( ad esempio pipenv)
Per eseguire l'autenticazione è necessario anche uno dei seguenti:
(Consigliato) dbt Core abilitato come applicazione OAuth nell'account. L'impostazione è abilitata per impostazione predefinita.
Un token di accesso personale
Nota
Come procedura consigliata per la sicurezza quando si esegue l'autenticazione con strumenti automatizzati, sistemi, script e app, Databricks consiglia di usare i token OAuth.
Se si usa l'autenticazione del token di accesso personale, Databricks consiglia di usare token di accesso personali appartenenti alle entità servizio anziché agli utenti dell'area di lavoro. Per creare token per le entità servizio, vedere Gestire i token per un'entità servizio.
Passaggio 1: Installare l'adapter dbt Databricks
È consigliabile usare un ambiente virtuale Python perché isola le versioni dei pacchetti e le dipendenze del codice in tale ambiente specifico, indipendentemente dalle versioni del pacchetto e dalle dipendenze del codice in altri ambienti. Ciò consente di ridurre le mancate corrispondenze impreviste della versione del pacchetto e i conflitti di dipendenza del codice.
Databricks consiglia la versione 1.8.0 o successiva del pacchetto dbt-databricks.
.. importante:: se il computer di sviluppo locale usa uno dei sistemi operativi seguenti, è necessario completare prima i passaggi aggiuntivi: CentOS, MacOS, Ubuntu, Debian e Windows. Vedere la sezione "Does my operating system have prerequisites" ( Usa pip per installare dbt nel sito Web dbt Labs).
Passaggio 2: Creare un progetto dbt e specificare e testare le impostazioni di connessione
Creare un progetto dbt (una raccolta di directory e file correlati necessari per usare dbt). Si configurano quindi i profili di connessione, che contengono le impostazioni di connessione a un ambiente di calcolo di Azure Databricks, a un'istanza di SQL Warehouse o a entrambi. Per aumentare la sicurezza, i progetti e i profili dbt vengono archiviati in posizioni separate per impostazione predefinita.
Con l'ambiente virtuale ancora attivato, eseguire il comando dbt init con il nome del progetto. In questa procedura di esempio viene creato un progetto denominato
my_dbt_demo
.dbt init my_dbt_demo
Quando viene richiesto di scegliere un
databricks
database ospark
, immettere il numero corrispondente adatabricks
.Quando viene richiesto un
host
valore, eseguire le operazioni seguenti:- Per un calcolo, immettere il valore Nome host server dalla scheda Opzioni avanzate, JDBC/ODBC per il calcolo di Azure Databricks.
- Per un'istanza di SQL Warehouse, immettere il valore Nome host server nella scheda Dettagli connessione per sql warehouse.
Quando viene richiesto un
http_path
valore, eseguire le operazioni seguenti:- Per un calcolo, immettere il valore percorso HTTP dalla scheda Opzioni avanzate, JDBC/ODBC per il calcolo di Azure Databricks.
- Per un'istanza di SQL Warehouse, immettere il valore percorso HTTP nella scheda Dettagli connessione per sql warehouse.
Per scegliere un tipo di autenticazione, immettere il numero corrispondente a
use oauth
(scelta consigliata) ouse access token
.Se si sceglie
use access token
per il tipo di autenticazione, immettere il valore del token di accesso personale di Azure Databricks.Nota
Come procedura consigliata per la sicurezza, quando si esegue l'autenticazione con strumenti automatizzati, sistemi, script e app, Databricks consiglia di usare token di accesso personali appartenenti alle entità servizio anziché agli utenti dell'area di lavoro. Per creare token per le entità servizio, vedere Gestire i token per un'entità servizio.
Quando viene richiesto il
desired Unity Catalog option
valore, immettere il numero corrispondente ause Unity Catalog
onot use Unity Catalog
.Se si sceglie di usare Unity Catalog, immettere il valore desiderato per
catalog
quando richiesto.Immettere i valori desiderati per
schema
ethreads
quando richiesto.dbt scrive le voci in un
profiles.yml
file. Il percorso di questo file è elencato nell'output deldbt init
comando . È anche possibile elencare questo percorso in un secondo momento eseguendo ildbt debug --config-dir
comando . È ora possibile aprire questo file per esaminarne e verificarne il contenuto.Se si è scelto
use oauth
per il tipo di autenticazione, aggiungere il profilo di autenticazione da computer a computer (M2M) o da utente a computer (U2M) aprofiles.yml
.Per esempi, vedere Configurare l'accesso ad Azure Databricks da dbt Core con Microsoft Entra ID.
Databricks non consiglia di specificare direttamente i segreti.
profiles.yml
Impostare invece l'ID client e il segreto client come variabili di ambiente.Verificare i dettagli della connessione eseguendo il
dbt debug
comando nellamy_dbt_demo
directory .Se si sceglie
use oauth
per il tipo di autenticazione, viene richiesto di accedere con il provider di identità.Importante
Prima di iniziare, verificare che il calcolo o SQL Warehouse sia in esecuzione.
L'output dovrebbe essere simile al seguente:
cd my_dbt_demo dbt debug
... 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
Passaggi successivi
- Creare, eseguire e testare modelli dbt Core in locale. Vedere l'esercitazione su dbt Core.
- Eseguire progetti dbt Core come attività di processo di Azure Databricks. Vedere Usare le trasformazioni dbt in un processo di Azure Databricks.