Dela via


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:

  1. I listrutan Type väljer du dbt.

  2. I listrutan Source 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 Arbetsytaanvänder du den angivna filnavigatorn för att välja katalogen Project.

    • Om du väljer Git-providerklickar 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.

  3. 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?.

  4. I SQL-lagerväljer du 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.

  5. Ange en Warehouse-katalog. Om det inte anges används standardvärdet för arbetsytan.

  6. Ange ett lager-schema. Som standard används schemat default.

  7. 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.

  8. 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.

  9. 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 kommandoradsalternativ kolumnen i de officiella dbt-dokumenten för en lista över 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 värden till kommandon i dbt-kommandon fä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 dbt-kommandon fältet 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}}"}'