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:
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.
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
Maak in deze lege map een bestand met de naam
Pipfile
met de volgende inhoud. Dit Pipfile geeft de opdrachtpipenv
python versie 3.8.6 te gebruiken. Als u een andere versie gebruikt, vervangt u dit door3.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 depipenv
opdracht om de nieuwste versie van hetdbt-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).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 u3.8.6
dit door uw versienummer:pipenv --python 3.8.6
Installeer de dbt Databricks-adapter door deze uit te voeren
pipenv
met deinstall
optie. Hiermee worden de pakketten geïnstalleerd in uwPipfile
, waaronder het dbt Databricks-adapterpakket,dbt-databricks
van 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
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 uitvoertpython --version
ofpip list
uitschakelt, ziet u mogelijk een andere versie van Python, een andere lijst met beschikbare pakketten of pakketversies, of beide.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
.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.
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
Wanneer u wordt gevraagd een
databricks
ofspark
database te kiezen, voert u het nummer in dat overeenkomt metdatabricks
.Wanneer u om een
host
waarde wordt gevraagd, gaat u als volgt te werk:- Voer voor een cluster de waarde serverhostnaam in op het tabblad Geavanceerde opties, JDBC/ODBC voor uw Azure Databricks-cluster.
- Voer voor een SQL-warehouse de serverhostnaamwaarde in op het tabblad Verbinding maken iondetails voor uw SQL-warehouse.
Wanneer u om een
http_path
waarde wordt gevraagd, gaat u als volgt te werk:- Voer voor een cluster de HTTP-padwaarde in op het tabblad Geavanceerde opties, JDBC/ODBC voor uw Azure Databricks-cluster.
- Voer voor een SQL-warehouse de waarde van het HTTP-pad in op het tabblad Verbinding maken ionDetails voor uw SQL-warehouse.
Als u een verificatietype wilt kiezen, voert u het nummer in dat overeenkomt met
use oauth
(aanbevolen) ofuse access token
.Als u voor uw verificatietype hebt gekozen
use 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.
Wanneer u om de
desired Unity Catalog option
waarde wordt gevraagd, voert u het getal in dat overeenkomt metuse Unity Catalog
ofnot use Unity Catalog
.Als u ervoor kiest om Unity Catalog te gebruiken, voert u de gewenste waarde in wanneer
catalog
u hierom wordt gevraagd.Voer de gewenste waarden in voor
schema
enthreads
wanneer u hierom wordt gevraagd.dbt schrijft uw vermeldingen naar een
profiles.yml
bestand. De locatie van dit bestand wordt vermeld in de uitvoer van dedbt init
opdracht. U kunt deze locatie ook later weergeven door de opdracht uit tedbt 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 aanprofiles.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.Controleer of de verbindingsgegevens juist zijn door naar de
my_dbt_demo
map te gaan en de opdracht uit tedbt 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
- Dbt Core-modellen lokaal maken, uitvoeren en testen. Zie de zelfstudie dbt Core.
- Dbt Core-projecten uitvoeren als Azure Databricks-taaktaken. Zie Dbt-transformaties gebruiken in een Azure Databricks-taak.
Aanvullende bronnen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor