Ansluta till dbt Core
Den här artcle förklarar vad som är dbt, hur du installerar dbt Core och hur du ansluter. Den värdbaserade versionen av dbt, som kallas dbt Cloud, är också tillgänglig. Mer information finns i Ansluta till dbt Cloud.
Vad är dbt?
dbt (data build tool) är en utvecklingsmiljö för att transformera data genom att skriva select-instruktioner. dbt omvandlar dessa select-instruktioner till tabeller och vyer. dbt kompilerar koden till rå SQL och kör sedan koden på den angivna databasen i Azure Databricks. dbt stöder samarbetskodningsmönster och metodtips, inklusive versionskontroll, dokumentation och modularitet.
dbt extraherar eller läser inte in data. dbt fokuserar endast på transformeringssteget med hjälp av en arkitektur för "transformera efter inläsning". dbt förutsätter att du redan har en kopia av dina data i databasen.
med dbt Core kan du skriva dbt-kod i valfri IDE på din lokala utvecklingsdator och sedan köra dbt från kommandoraden. dbt Core innehåller dbt-kommandoradsgränssnittet (CLI). Dbt CLI är kostnadsfri att använda och öppen källkod.
dbt Core (och dbt Cloud) kan använda värdbaserade git-lagringsplatser. Mer information finns i Skapa ett dbt-projekt och Använda ett befintligt projekt på dbt-webbplatsen.
Installationskrav
Innan du installerar dbt Core måste du installera följande på den lokala utvecklingsdatorn:
Du behöver också något av följande för att autentisera:
(Rekommenderas) dbt Core aktiverat som ett OAuth-program i ditt konto. Detta är aktiverat som standard.
En personlig åtkomsttoken
Kommentar
Som bästa säkerhet när du autentiserar med automatiserade verktyg, system, skript och appar rekommenderar Databricks att du använder OAuth-token.
Om du använder autentisering med personlig åtkomsttoken rekommenderar Databricks att du använder personliga åtkomsttoken som tillhör tjänstens huvudnamn i stället för arbetsyteanvändare. Information om hur du skapar token för tjänstens huvudnamn finns i Hantera token för tjänstens huvudnamn.
Steg 1: Installera dbt Databricks-adaptern
Vi rekommenderar att du använder en virtuell Python-miljö eftersom den isolerar paketversioner och kodberoenden till den specifika miljön, oavsett paketversioner och kodberoenden i andra miljöer. Detta hjälper till att minska oväntade paketversionsfel och kodberoendekollisioner.
Databricks rekommenderar version 1.8.0 eller senare av dbt-databricks-paketet.
.. viktigt:: Om din lokala utvecklingsdator använder något av följande operativsystem måste du utföra ytterligare steg först: CentOS, MacOS, Ubuntu, Debian och Windows. Se avsnittet "Har mitt operativsystem förutsättningar" i Använd pip för att installera dbt på dbt Labs webbplats.
Steg 2: Skapa ett dbt-projekt och ange och testa anslutningsinställningar
Skapa ett dbt-projekt (en samling relaterade kataloger och filer som krävs för att använda dbt). Sedan konfigurerar du anslutningsprofilerna, som innehåller anslutningsinställningar för en Azure Databricks-beräkning, ett SQL-lager eller både och. För att öka säkerheten lagras dbt-projekt och profiler på separata platser som standard.
När den virtuella miljön fortfarande är aktiverad kör du kommandot dbt init med projektnamnet. Den här exempelproceduren skapar ett projekt med namnet
my_dbt_demo
.dbt init my_dbt_demo
När du uppmanas att välja en
databricks
databas angerspark
du det tal som motsvarardatabricks
.När du uppmanas att ange ett
host
värde gör du följande:- För en beräkning anger du värdet servervärdnamn från fliken Avancerade alternativ, JDBC/ODBC för din Azure Databricks-beräkning.
- För ett SQL-lager anger du värdet servervärdnamn från fliken Anslutningsinformation för DITT SQL-lager.
När du uppmanas att ange ett
http_path
värde gör du följande:- För en beräkning anger du http-sökvägsvärdet från fliken Avancerade alternativ, JDBC/ODBC för din Azure Databricks-beräkning.
- För ett SQL-lager anger du värdet http-sökväg från fliken Anslutningsinformation för DITT SQL-lager.
Om du vill välja en autentiseringstyp
use oauth
anger du det tal som motsvarar (rekommenderas) elleruse access token
.Om du väljer
use access token
för din autentiseringstyp anger du värdet för din personliga åtkomsttoken för Azure Databricks.Kommentar
När du autentiserar med automatiserade verktyg, system, skript och appar rekommenderar Databricks att du använder personliga åtkomsttoken som tillhör tjänstens huvudnamn i stället för arbetsyteanvändare. Information om hur du skapar token för tjänstens huvudnamn finns i Hantera token för tjänstens huvudnamn.
När du uppmanas att
desired Unity Catalog option
ange värdet anger du det tal som motsvararuse Unity Catalog
ellernot use Unity Catalog
.Om du väljer att använda Unity Catalog anger du önskat värde för
catalog
när du uppmanas att göra det.Ange önskade värden för
schema
ochthreads
när du uppmanas att göra det.dbt skriver dina poster till en
profiles.yml
fil. Platsen för den här filen visas i kommandotsdbt init
utdata. Du kan också visa den här platsen senare genom attdbt debug --config-dir
köra kommandot . Du kan öppna den här filen nu för att undersöka och verifiera dess innehåll.Om du väljer
use oauth
för din autentiseringstyp lägger du till autentiseringsprofilen machine-to-machine (M2M) eller user-to-machine (U2M) iprofiles.yml
.Exempel finns i Konfigurera Azure Databricks-inloggning från dbt Core med Microsoft Entra-ID.
Databricks rekommenderar inte att du anger hemligheter
profiles.yml
direkt. Ange i stället klient-ID och klienthemlighet som miljövariabler.Bekräfta anslutningsinformationen genom att
dbt debug
köra kommandot imy_dbt_demo
katalogen.Om du väljer
use oauth
din autentiseringstyp uppmanas du att logga in med din identitetsprovider.Viktigt!
Innan du börjar kontrollerar du att ditt beräknings- eller SQL-lager körs.
Du bör se utdata som liknar följande:
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
Nästa steg
- Skapa, köra och testa dbt Core-modeller lokalt. Se självstudiekursen för dbt Core.
- Kör dbt Core-projekt som Azure Databricks-jobbuppgifter. Se Använda dbt-transformeringar i ett Azure Databricks-jobb.