dbt-uppgift för jobb
Använd dbt-uppgiften för att konfigurera och köra dbt-projekt på Azure Databricks.
Viktigt!
När dbt-uppgifter körs matar Databricks in DBT_ACCESS_TOKEN
för det huvudnamn som konfigurerats i fältet Kör som .
Konfigurera en dbt-uppgift
Lägg till en dbt
aktivitet från fliken Uppgifter i användargränssnittet för jobb genom att göra följande:
I listrutan Typ väljer du
dbt
.I den nedrullningsbara menyn Källa kan du välja Arbetsyta för att använda ett dbt-projekt som finns i en Azure Databricks-arbetsytemapp eller Git-provider för ett projekt som finns på en fjärransluten Git-lagringsplats.
Om du väljer Arbetsyta använder du den angivna filnavigatorn för att välja katalogen Projekt.
Om du väljer Git-provider klickar du på Redigera för att ange Git-information för projektlagringsplatsen. Se Använda Git med jobb.
Om projektet inte finns i lagringsplatsens rotkatalog använder du fältet Projektkatalog för att ange sökvägen till det.
Dbt-kommandonas textrutor är som standard kommandona dbt deps, dbt seed och dbt run. De angivna kommandona körs i sekventiell ordning. Lägg till, ta bort eller redigera dessa fält efter behov för arbetsflödet. Se Vad är dbt-kommandon?.
I SQL Warehouse väljer du ett SQL-lager för att köra DEN SQL som genereras av dbt. Den nedrullningsbara menyn i SQL-lagret visar endast serverlösa och pro SQL-lager.
Ange en lagerkatalog. Om det inte anges används standardvärdet för arbetsytan.
Ange ett lagerschema. Som standard används schemat
default
.Välj dbt CLI-beräkning för att köra dbt Core. Databricks rekommenderar att du använder serverlös beräkning för jobb eller beräkning av klassiska jobb som konfigurerats med ett kluster med en nod.
Ange en
dbt-databricks
version för uppgiften.Om du använder
Serverless
beräkning använder du fältet Miljö och bibliotek för att välja, redigera eller lägga till en ny miljö. Se Installera notebook-beroenden.För alla andra beräkningskonfigurationer fylls fältet Beroende bibliotek i som
dbt-databricks>=1.0.0,<2.0.0
standard. Ta bort den här inställningen och + Lägg till ett PyPi-bibliotek för att fästa en version.Kommentar
Databricks rekommenderar att du fäster dina dbt-uppgifter på en specifik version av dbt-databricks-paketet för att säkerställa att samma version används för utvecklings- och produktionskörningar. Databricks rekommenderar version 1.6.0 eller senare av dbt-databricks-paketet.
Klicka på Skapa uppgift.
Vad är dbt-kommandon?
Med fältet dbt-kommandon kan du ange kommandon som ska köras med hjälp av dbt-kommandoradsgränssnittet (CLI). Fullständig information om dbt CLI finns i dbt-dokumentationen.
Kontrollera dbt-dokumentationen för kommandon som stöds av den angivna versionen av dbt.
Skicka alternativ till dbt-kommandon
Med syntaxen för val av dbt-nod kan du ange resurser som ska inkluderas eller exkluderas i en viss körning. Kommandon som run
och build
accepterar flaggor inklusive --select
och --exclude
. En fullständig beskrivning finns i dokumentationen för dbt-syntaxöversikt.
Ytterligare konfigurationsflaggor styr hur dbt kör projektet. En lista över tillgängliga flaggor finns i kolumnen Kommandoradsalternativ i de officiella dbt-dokumenten.
Vissa flaggor har positionella argument. Vissa argument för flaggor är strängar. I dbt-dokumentationen finns exempel och förklaringar.
Skicka variabler till dbt-kommandon
--vars
Använd flaggan för att skicka statiska eller dynamiska värden till kommandon i dbt-kommandofält.
Du skickar en avgränsad JSON med ett enda citattecken till --vars
. Alla nycklar och värden i JSON måste vara avgränsade med dubbla citattecken, som i följande exempel:
dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'
Exempel på parameteriserade dbt-kommandon
Du kan referera till aktivitetsvärden, jobbparametrar och dynamiska jobbparametrar när du arbetar med dbt. Värden ersätts som oformaterad text i fältet dbt-kommandon innan kommandot körs. Information om hur du skickar värden mellan aktiviteter eller refererar till jobbmetadata finns i Parameterisera jobb.
Dessa exempel förutsätter att följande jobbparametrar har konfigurerats:
Parameternamn | Parametervärde |
---|---|
volume_path |
/Volumes/path/to/data |
table_name |
my_table |
select_clause |
--select "tag:nightly" |
dbt_refresh |
--full-refresh |
I följande exempel visas giltiga sätt att referera till dessa parametrar:
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}
Du kan också referera till dynamiska parametrar och aktivitetsvärden, som i följande exempel:
dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'