Share via


Verbinding maken naar dbt Core

Notitie

Dit artikel bevat informatie over dbt Core, een versie van dbt voor uw lokale ontwikkelcomputer die communiceert met Databricks SQL-warehouses en Azure Databricks-clusters binnen uw Azure Databricks-werkruimten. Als u in plaats daarvan de gehoste versie van dbt (dbt Cloud) wilt gebruiken of partner-Verbinding maken wilt gebruiken om snel een SQL-warehouse in uw werkruimte te maken en deze vervolgens te verbinden met dbt Cloud, raadpleegt u Verbinding maken met dbt Cloud.

dbt (data build tool) is een ontwikkelomgeving waarmee gegevensanalisten en gegevensengineers data kunnen transformeren door simpelweg select-instructies te schrijven. dbt verwerkt het omzetten van deze select-instructies in tabellen en weergaven. dbt compileert uw code in onbewerkte SQL en voert die code vervolgens uit in de opgegeven database in Azure Databricks. dbt biedt ondersteuning voor samenwerkingscoderingspatronen en aanbevolen procedures, zoals versiebeheer, documentatie, modulariteit en meer.

dbt extraheert of laadt geen gegevens. dbt is alleen gericht op de transformatiestap, met behulp van een 'transformatie na belasting'-architectuur. dbt gaat ervan uit dat u al een kopie van uw gegevens in uw database hebt.

Dit artikel is gericht op het gebruik van dbt Core. met dbt Core kunt u op uw lokale ontwikkelcomputer dbt-code schrijven in de teksteditor of IDE van uw keuze en vervolgens dbt uitvoeren vanaf de opdrachtregel. dbt Core bevat de dbt-opdrachtregelinterface (CLI). De dbt CLI is gratis te gebruiken en open source.

Er is ook een gehoste versie van dbt met de naam dbt Cloud beschikbaar. dbt Cloud wordt geleverd met kant-en-klare ondersteuning voor het plannen van taken, CI/CD, het leveren van documentatie, bewaking en waarschuwingen en een IDE (Integrated Development Environment). Zie Verbinding maken naar dbt Cloud voor meer informatie. Het dbt Cloud Developer-plan biedt één gratis zetel voor ontwikkelaars; Betaalde abonnementen voor teams en Ondernemingen zijn ook beschikbaar. Zie dbt-prijzen op de dbt-website voor meer informatie.

Omdat dbt Core en dbt Cloud gehoste Git-opslagplaatsen kunnen gebruiken (bijvoorbeeld op GitHub, GitLab of BitBucket), kunt u dbt Core gebruiken om een dbt-project te maken en deze vervolgens beschikbaar te maken voor uw dbt Cloud-gebruikers. Zie Een dbt-project maken en een bestaand project gebruiken op de dbt-website voor meer informatie.

Bekijk de volgende YouTube-video (26 minuten) voor een algemeen overzicht van dbt.

Vereisten

Voordat u dbt Core installeert, moet u het volgende installeren op uw lokale ontwikkelcomputer:

  • Python 3.7 of hoger
  • Een hulpprogramma voor het maken van virtuele Python-omgevingen (zoals pipenv)

U hebt ook een van de volgende stappen nodig om te verifiëren:

  • (Aanbevolen) dbt Core ingeschakeld als een OAuth-toepassing in uw account. Dit is standaard ingeschakeld.

  • Een persoonlijk toegangstoken

    Notitie

    Als best practice voor beveiliging wanneer u verifieert met geautomatiseerde hulpprogramma's, systemen, scripts en apps, raadt Databricks u aan OAuth-tokens te gebruiken.

    Als u persoonlijke toegangstokenverificatie gebruikt, raadt Databricks aan om persoonlijke toegangstokens te gebruiken die behoren tot service-principals in plaats van werkruimtegebruikers. Zie Tokens voor een service-principal beheren om tokens voor service-principals te maken.

Stap 1: Een virtuele Python-omgeving maken en activeren

In deze stap gebruikt pipenv u om een virtuele Python-omgeving te maken. We raden u aan een virtuele Python-omgeving te gebruiken omdat pakketversies en codeafhankelijkheden worden geïsoleerd voor die specifieke omgeving, ongeacht de pakketversies en codeafhankelijkheden binnen andere omgevingen. Dit helpt onverwachte niet-overeenkomende pakketversies en codeafhankelijkheidsconflicten te verminderen.

  1. Schakel vanuit de terminal over naar een lege map, waarbij u die map eerst maakt, indien nodig. Met deze procedure maakt u een lege map met de naam dbt_demo in de hoofdmap van de basismap van uw gebruiker.

    Unix, linux, macos

    mkdir ~/dbt_demo
    cd ~/dbt_demo
    

    Windows

    mkdir %USERPROFILE%\dbt_demo
    cd %USERPROFILE%\dbt_demo
    
  2. Maak in deze lege map een bestand met de naam Pipfile met de volgende inhoud. Dit Pipfile geeft de opdracht pipenv python versie 3.8.6 te gebruiken. Als u een andere versie gebruikt, vervangt u dit door 3.8.6 uw versienummer.

    [[source]]
    url = "https://pypi.org/simple"
    verify_ssl = true
    name = "pypi"
    
    [packages]
    dbt-databricks = "*"
    
    [requires]
    python_version = "3.8.6"
    

    Notitie

    De voorgaande regel dbt-databricks = "*" geeft de pipenv opdracht om de nieuwste versie van het dbt-databricks pakket te gebruiken. In productiescenario's moet u vervangen door * de specifieke versie van het pakket dat u wilt gebruiken. Databricks raadt versie 1.6.0 of hoger aan van het dbt-databricks-pakket. Zie de releasegeschiedenis van dbt-databricks op de website van Python Package Index (PyPI).

  3. Maak een virtuele Python-omgeving in deze map door de Python-versie uit te voeren pipenv en op te geven die moet worden gebruikt. Met deze opdracht geeft u Python versie 3.8.6 op. Als u een andere versie gebruikt, vervangt u 3.8.6 dit door uw versienummer:

    pipenv --python 3.8.6
    
  4. Installeer de dbt Databricks-adapter door deze uit te voeren pipenv met de install optie. Hiermee worden de pakketten geïnstalleerd in uw Pipfile, waaronder het dbt Databricks-adapterpakket, dbt-databricksvan PyPI. Het dbt Databricks-adapterpakket installeert automatisch dbt Core en andere afhankelijkheden.

    Belangrijk

    Als uw lokale ontwikkelcomputer een van de volgende besturingssystemen gebruikt, moet u eerst aanvullende stappen uitvoeren: CentOS, MacOS, Ubuntu, Debian en Windows. Zie de sectie 'Heeft mijn besturingssysteem vereisten' van Pip gebruiken om dbt te installeren op de dbt Labs-website.

    pipenv install
    
  5. Activeer deze virtuele omgeving door uit te voeren pipenv shell. Om de activering te bevestigen, wordt de terminal weergegeven (dbt_demo) vóór de prompt. De virtuele omgeving begint met het gebruik van de opgegeven versie van Python en isoleert alle pakketversies en codeafhankelijkheden binnen deze nieuwe omgeving.

    pipenv shell
    

    Notitie

    Als u deze virtuele omgeving wilt deactiveren, voert u uit exit. (dbt_demo) verdwijnt van vóór de prompt. Als u deze virtuele omgeving uitvoert python --version of pip list uitschakelt, ziet u mogelijk een andere versie van Python, een andere lijst met beschikbare pakketten of pakketversies, of beide.

  6. Controleer of in uw virtuele omgeving de verwachte versie van Python wordt uitgevoerd door de optie uit te --version voerenpython.

    python --version
    

    Als er een onverwachte versie van Python wordt weergegeven, controleert u of u uw virtuele omgeving hebt geactiveerd door deze uit te voeren pipenv shell.

  7. Controleer of in uw virtuele omgeving de verwachte versies van dbt en de dbt Databricks-adapter worden uitgevoerd door de optie uit te --version voerendbt.

    dbt --version
    

    Als een onverwachte versie van dbt of de dbt Databricks-adapter wordt weergegeven, controleert u of u uw virtuele omgeving hebt geactiveerd door deze uit te voeren pipenv shell. Als er nog steeds een onverwachte versie wordt weergegeven, installeert u dbt of de dbt Databricks-adapter opnieuw nadat u uw virtuele omgeving hebt geactiveerd.

Stap 2: Een dbt-project maken en verbindingsinstellingen opgeven en testen

In deze stap maakt u een dbt-project. Dit is een verzameling gerelateerde mappen en bestanden die nodig zijn om dbt te gebruiken. Vervolgens configureert u uw verbindingsprofielen, die verbindingsinstellingen bevatten met een Azure Databricks-cluster, een SQL-warehouse of beide. Om de beveiliging te vergroten, worden dbt-projecten en -profielen standaard op afzonderlijke locaties opgeslagen.

Tip

U kunt verbinding maken met een bestaand cluster of SQL Warehouse, of u kunt een nieuw cluster maken.

  • Een bestaand cluster of SQL Warehouse kan efficiënt zijn voor meerdere dbt-projecten, voor het gebruik van dbt in een team of voor ontwikkelingsgebruiksscenario's.
  • Met een nieuw cluster of SQL Warehouse kunt u één dbt-project afzonderlijk uitvoeren voor gebruiksscenario's voor productie en automatische beëindiging gebruiken om kosten te besparen wanneer dat dbt-project niet wordt uitgevoerd.

Gebruik Azure Databricks om een nieuw cluster of SQL-warehouse te maken en vervolgens te verwijzen naar het zojuist gemaakte of bestaande cluster of SQL Warehouse vanuit uw dbt-profiel.

  1. Als de virtuele omgeving nog steeds is geactiveerd, voert u de init-opdracht dbt uit met een naam voor uw project. Met deze procedure maakt u een project met de naam my_dbt_demo.

    dbt init my_dbt_demo
    
  2. Wanneer u wordt gevraagd een databricks of spark database te kiezen, voert u het nummer in dat overeenkomt met databricks.

  3. Wanneer u om een host waarde wordt gevraagd, gaat u als volgt te werk:

  4. Wanneer u om een http_path waarde wordt gevraagd, gaat u als volgt te werk:

  5. Als u een verificatietype wilt kiezen, voert u het nummer in dat overeenkomt met use oauth (aanbevolen) of use access token.

  6. Als u voor uw verificatietype hebt gekozenuse access token, voert u de waarde in van uw persoonlijke toegangstoken van Azure Databricks.

    Notitie

    Als best practice voor beveiliging, wanneer u zich verifieert met geautomatiseerde hulpprogramma's, systemen, scripts en apps, raadt Databricks u aan om persoonlijke toegangstokens te gebruiken die behoren tot service-principals in plaats van werkruimtegebruikers. Zie Tokens voor een service-principal beheren om tokens voor service-principals te maken.

  7. Wanneer u om de desired Unity Catalog option waarde wordt gevraagd, voert u het getal in dat overeenkomt met use Unity Catalog of not use Unity Catalog.

  8. Als u ervoor kiest om Unity Catalog te gebruiken, voert u de gewenste waarde in wanneer catalog u hierom wordt gevraagd.

  9. Voer de gewenste waarden in voor schema en threads wanneer u hierom wordt gevraagd.

  10. dbt schrijft uw vermeldingen naar een profiles.yml bestand. De locatie van dit bestand wordt vermeld in de uitvoer van de dbt init opdracht. U kunt deze locatie ook later weergeven door de opdracht uit te dbt debug --config-dir voeren. U kunt dit bestand nu openen om de inhoud ervan te onderzoeken en te controleren.

    Als u voor uw verificatietype kiest use oauth , voegt u uw M2M-verificatieprofiel (machine-to-machine) of U2M-verificatieprofiel (user-to-machine) toe aan profiles.yml.

    Zie Azure Databricks-aanmelding configureren vanuit dbt Core met Microsoft Entra-id voor voorbeelden.

    Databricks raadt niet aan geheimen rechtstreeks op profiles.yml te geven. Stel in plaats daarvan de client-id en het clientgeheim in als omgevingsvariabelen.

  11. Controleer of de verbindingsgegevens juist zijn door naar de my_dbt_demo map te gaan en de opdracht uit te dbt debug voeren.

    Als u voor uw verificatietype hebt gekozen use oauth , wordt u gevraagd u aan te melden bij uw id-provider.

    Belangrijk

    Controleer voordat u begint of uw cluster of SQL Warehouse wordt uitgevoerd.

    De uitvoer ziet er als volgt uit:

    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
    

Volgende stappen

Aanvullende bronnen