Dela via


Utveckla Lakeflow Spark deklarativa pipelines med Databricks-resurspaket

Med Databricks-tillgångsbuntar, även kända som paket, kan du programmerbart validera, distribuera och köra resurser i Azure Databricks, såsom Lakeflow Spark Deklarativa Pipelines. Se Vad är Databricks-tillgångspaket?.

Den här sidan beskriver hur du skapar ett paket för att programmatiskt hantera en pipeline. Se Deklarativa pipelines för Lakeflow Spark. Paketet skapas med hjälp av Databricks CLI-kommandotpipelines init, som definierar en ETL-pipeline och ett jobb för att köra den. Sedan validerar, distribuerar och kör du den distribuerade pipelinen på din Azure Databricks-arbetsyta på serverlös beräkning.

Tips

Om du har befintliga pipelines som har skapats med hjälp av azure Databricks-användargränssnittet eller API:et som du vill flytta till paket måste du definiera dem i ett pakets konfigurationsfiler. Databricks rekommenderar att du först skapar ett paket med hjälp av stegen nedan och sedan lägger till konfiguration och andra källor i paketet. Se Hämta en befintlig pipelinedefinition med hjälp av användargränssnittet.

Krav

  • Databricks CLI version 0.283.0 eller senare. Om du vill kontrollera den installerade versionen av Databricks CLI kör du kommandot databricks -v. Information om hur du installerar Databricks CLI finns i Installera eller uppdatera Databricks CLI.
  • uv krävs för att köra tester och installera beroenden för det här projektet från en IDE.
  • Fjärrarbetsytan måste ha arbetsytefiler aktiverade. Se Vad är arbetsytefiler?.
  • En befintlig katalog för tabeller i pipelinen. Se: Skapa kataloger.

(Valfritt) Installera en Python-modul för att stödja utveckling av lokala pipelines

Databricks tillhandahåller en Python-modul som hjälper din lokala utveckling av Lakeflow Spark Deklarativa pipelines-kod genom att tillhandahålla syntaxkontroll, automatisk komplettering och datatypskontroll när du skriver kod i din IDE.

Python-modulen för lokal utveckling är tillgänglig i PyPi. Information om hur du installerar modulen finns i Python stub för DLT.

Steg 1: Konfigurera autentisering

Konfigurera först autentisering mellan Databricks CLI på utvecklingsdatorn och Azure Databricks-arbetsytan. Den här sidan förutsätter att du vill använda U2M-autentisering (OAuth user-to-machine) och en motsvarande Azure Databricks-konfigurationsprofil med namnet DEFAULT för autentisering.

Kommentar

U2M-autentisering är lämpligt för att prova de här stegen i realtid. För helt automatiserade arbetsflöden rekommenderar Databricks att du använder M2M-autentisering (machine-to-machine) för OAuth i stället. Se installationsanvisningarna för M2M-autentisering i Auktorisera tjänstens huvudnamnsåtkomst till Azure Databricks med OAuth.

  1. Använd Databricks CLI för att initiera OAuth-tokenhantering lokalt genom att köra följande kommando för varje målarbetsyta.

    I följande kommando ersätter du <workspace-url> med url:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI uppmanar dig att spara den information som du angav som en Azure Databricks-konfigurationsprofil. Tryck Enter för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den information som du angav. Du kan använda profiler för att snabbt växla autentiseringskontext över flera arbetsytor.

    Om du vill hämta en lista över befintliga profiler i en separat terminal eller kommandotolk använder du Databricks CLI för att köra kommandot databricks auth profiles. Om du vill visa en specifik profils befintliga inställningar kör du kommandot databricks auth env --profile <profile-name>.

  3. I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.

  4. Om du vill visa en profils aktuella OAuth-tokenvärde och tokens kommande förfallotidsstämpel kör du något av följande kommandon:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Om du har flera profiler med samma --host värde kan du behöva ange --host alternativen och -p tillsammans för att hjälpa Databricks CLI att hitta rätt matchande OAuth-tokeninformation.

Steg 2: Skapa paketet

Initiera ett paket med en pipeline:

  1. Använd terminalen eller kommandotolken för att växla till en katalog på den lokala utvecklingsdatorn som innehåller mallens genererade paket.

  2. Använd Databricks CLI för att köra pipelines init kommandot:

    databricks pipelines init
    
  3. För Unique name for this projectlämnar du standardvärdet my_pipeline_project, eller skriver ett annat värde och trycker sedan på Enter. Detta avgör namnet på rotkatalogen för det här paketet. Den här rotkatalogen skapas i den aktuella arbetskatalogen.

  4. För Initial cataloganger du namnet på en befintlig Unity-katalogkatalog.

  5. För Use a personal schema for each user working on this project?väljer du yes.

  6. För Initial language for this projectväljer du python.

Steg 3: Utforska paketet

Om du vill visa de filer som mallen genererade växlar du till rotkatalogen för det nyligen skapade paketet. Följande struktur skapas som standard:

my_pipeline_project
├── databricks.yml
├── pyproject.toml
├── README.md
├── resources
│   ├── my_pipeline_project_etl.pipeline.yml
│   └── sample_job.job.yml
└── src
    └── my_pipeline_project_etl
        ├── explorations
        │   └── sample_exploration.ipynb
        ├── README.md
        └── transformations
            ├── sample_trips_my_pipeline_project.py
            └── sample_zones_my_pipeline_project.py

Filer av särskilt intresse omfattar följande:

  • databricks.yml: Den här filen anger paketets programmatiska namn, innehåller referenser till paketets filer, definierar katalog- och schemavariabler och anger inställningar för målarbetsytor.

  • resources/sample_job.job.yml och resources/<project-name>_etl_pipeline.yml: Dessa filer definierar jobbet som innehåller en pipelineuppdateringsaktivitet och pipelinens inställningar. Information om pipelineinställningar finns i pipeline.

  • src/: Den här mappen innehåller exempelpipelinens källfiler, utforskningar och transformeringar.

    Tips

    Om du lägger till tester använder du pytest för att köra dem lokalt:

    uv run pytest
    
  • README.md: Den här filen innehåller ytterligare information om hur du kommer igång och använder den här paketmallen.

Steg 4: Verifiera paketkonfigurationen

Kontrollera nu om paketkonfigurationen är giltig.

  1. Från rotkatalogen använder du Databricks CLI för att köra bundle validate kommandot:

    databricks bundle validate
    
  2. Om en sammanfattning av paketkonfigurationen returneras lyckades verifieringen. Om några fel returneras åtgärdar du felen och upprepar sedan det här steget.

Steg 5: Distribuera pipelinen till fjärrarbetsytan

Distribuera sedan paketet till din fjärranslutna Azure Databricks-arbetsyta och verifiera pipelinen på din arbetsyta.

  1. Från paketroten använder du ett Databricks CLI-kommando deploy :

    databricks bundle deploy --target dev
    

    Eller:

    databricks pipelines deploy --target dev
    

    Kommentar

    Standardmallen innehåller ett jobb som kör pipelinen varje dag, men den pausas för måldistributionsläget dev . Se distributionslägena för Databricks Asset Bundle.

  2. Bekräfta att paketet har distribuerats:

    1. Klicka på Arbetsyta i sidofältet på azure Databricks-arbetsytan.
    2. Klicka i mappen Användare ><your-username>>.bundle och leta reda på ditt paketprojekt.
  3. Kontrollera om din pipeline har skapats:

    1. I sidofältet i Azure Databricks-arbetsytan klickar du på Jobb och Pipelines.
    2. Du kan välja filtren Pipelines och Ägs av mig om du vill.
    3. Klicka på [dev <your-username>] <project-name>_etl.

Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 4–5 för att kontrollera om paketkonfigurationen fortfarande är giltig och sedan distribuera om projektet.

Steg 6: Kör den utplacerade pipelinen

Starta nu en körning av pipelinen i din arbetsyta från kommandoraden.

  1. Från rotkatalogen använder du kommandot Databricks CLI pipelines run . Om det bara finns en pipeline i projektet behöver du inte ange ett pipelinenamn.

    databricks pipelines run my_pipeline_project_etl --target dev
    
  2. Kopiera värdet Update URL för som visas i terminalen och klistra in det här värdet i webbläsaren för att öppna Azure Databricks-arbetsytan.

  3. När pipelinekörningen har slutförts på din Azure Databricks-arbetsyta klickar du på de materialiserade vyerna för att se information om varje vy.

Om du gör några ändringar i paketet efter det här steget bör du upprepa steg 4–6 för att kontrollera om paketkonfigurationen fortfarande är giltig, distribuera om projektet och köra det omdistribuerade projektet.

Steg 7: Utdatahistorik och händelseloggar

Informationen som tillhandahålls av pipelines history kommandona och pipelines logs kan hjälpa dig att diagnostisera fel.

Så här hämtar du tidigare körningar för en pipeline:

databricks pipelines history my_pipeline_project_etl
Updates Summary for pipeline my_pipeline_project_etl:
Update ID: a62293ec-8a63-43b7-8629-b218d56dac7c
   State: COMPLETED
   Cause: API_CALL
   Creation Time: 2026-01-29T23:16:14Z
   Full Refresh: false
   Validate Only: false

För att mata ut (i JSON) händelserna i pipelinens senaste uppdatering:

databricks pipelines logs my_pipeline_project_etl

Använd jq för att filtrera resultatet. Se Filtrera JSON-utdata med jq.

Steg 8: Rensa

I det här steget tar du bort det distribuerade paketet och pipelinen från din arbetsyta.

  1. Från rotkatalogen använder du Databricks CLI för att köra pipelines destroy kommandot:

    databricks pipelines destroy --target dev
    
  2. När du uppmanas att permanent förstöra resurser, pipelinen och tabeller och vyer som hanteras av pipelinen, skriver du y och trycker på Enter.

  3. Om du också vill ta bort paketet från utvecklingsdatorn kan du nu ta bort den lokala projektkatalogen.