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 menyn för listrutan typselect
dbt
.I den nedrullningsbara menyn Source kan du selectArbetsområde för att använda ett dbt-projekt som finns i en mapp i Azure Databricks arbetsyta eller Git-leverantör för ett projekt som finns i en fjärransluten Git-lagringsplats.
Om du använder selectarbetsyta, använd den givna filnavigatorn för att selectprojektkatalogen.
Om du selectGit-providernklickar 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, removeeller redigera dessa fält efter behov för arbetsflödet. Se Vad är dbt-kommandon?.
I SQL-lagerselect ett SQL-lager för att köra SQL som genereras av dbt. Den nedrullningsbara menyn i SQL-lagret visar endast serverlösa och pro SQL-lager.
Ange ett lager-catalog. Om det inte anges används standardvärdet för arbetsytan.
Ange ett lager-schema. Som standard används schema
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 select, 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. Se kommandoradsalternativcolumn i de officiella dbt-dokumenten för en list med tillgängliga flaggor.
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
Använd flaggan --vars
för att skicka statiska eller dynamiska values till dbt-kommandon i-fält.
Du skickar en avgränsad JSON med ett enda citattecken till --vars
. Alla nycklar och values 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 uppgift values, jobb parametersoch dynamiskt jobb parameters när du arbetar med dbt. Values ersätts som oformaterad text i dbt-kommandon fältet innan kommandot körs. Information om hur du skickar values mellan aktiviteter eller refererar till jobbmetadata finns i Parameterisera jobb.
Dessa exempel förutsätter att följande jobb parameters 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 parameters:
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 parameters och uppgift values, som visas i följande exempel:
dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'