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.

  1. 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
    
  2. Quando viene richiesto di scegliere un databricks database o spark , immettere il numero corrispondente a databricks.

  3. 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.
  4. 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.
  5. Per scegliere un tipo di autenticazione, immettere il numero corrispondente a use oauth (scelta consigliata) o use access token.

  6. 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.

  7. Quando viene richiesto il desired Unity Catalog option valore, immettere il numero corrispondente a use Unity Catalog o not use Unity Catalog.

  8. Se si sceglie di usare Unity Catalog, immettere il valore desiderato per catalog quando richiesto.

  9. Immettere i valori desiderati per schema e threads quando richiesto.

  10. dbt scrive le voci in un profiles.yml file. Il percorso di questo file è elencato nell'output del dbt init comando . È anche possibile elencare questo percorso in un secondo momento eseguendo il dbt 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) a profiles.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.

  11. Verificare i dettagli della connessione eseguendo il dbt debug comando nella my_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.

Risorse aggiuntive