Dela via


Vad är Databricks-tillgångspaket?

Databricks Asset Bundles är ett verktyg för att underlätta införandet av metodtips för programvaruutveckling, inklusive källkodskontroll, kodgranskning, testning och kontinuerlig integrering och leverans (CI/CD) för dina data- och AI-projekt. Paket gör det möjligt att beskriva Databricks-resurser som jobb, pipelines och notebook-filer som källfiler. Dessa källfiler ger en definition från slutpunkt till slutpunkt för ett projekt, inklusive hur det ska struktureras, testas och distribueras, vilket gör det enklare att samarbeta i projekt under aktiv utveckling.

Paket ger ett sätt att inkludera metadata tillsammans med projektets källfiler. När du distribuerar ett projekt med hjälp av paket används dessa metadata för att etablera infrastruktur och andra resurser. Projektets samling av källfiler och metadata distribueras sedan som ett enda paket till målmiljön. Ett paket innehåller följande delar:

  • Nödvändig molninfrastruktur och konfiguration av arbetsytor
  • Källfiler, till exempel notebook-filer och Python-filer, som innehåller affärslogik
  • Definitioner och inställningar för Databricks-resurser, till exempel Azure Databricks-jobb, Delta Live Tables-pipelines, modelltjänstslutpunkter, MLflow-experiment och MLflow-registrerade modeller
  • Enhetstester och integreringstester

Följande diagram ger en översikt över en utvecklings- och CI/CD-pipeline med paket:

Översikt över Databricks-tillgångspaket

När ska jag använda Databricks-tillgångspaket?

Databricks Assets Bundles är en IaC-metod (infrastructure-as-code) för att hantera dina Databricks-projekt. Använd dem när du vill hantera komplexa projekt där flera deltagare och automatisering är viktiga, och kontinuerlig integrering och distribution (CI/CD) är ett krav. Eftersom paket definieras och hanteras via YAML-mallar och filer som du skapar och underhåller tillsammans med källkod, mappar de väl till scenarier där IaC är en lämplig metod.

Några idealiska scenarier för paket är:

  • Utveckla data-, analys- och ML-projekt i en teambaserad miljö. Paket kan hjälpa dig att organisera och hantera olika källfiler effektivt. Detta säkerställer ett smidigt samarbete och smidiga processer.
  • Iterera på ML-problem snabbare. Hantera ML-pipelineresurser (till exempel tränings- och batchinferensjobb) med hjälp av ML-projekt som följer bästa praxis för produktion från början.
  • Ange organisationsstandarder för nya projekt genom att redigera anpassade paketmallar som innehåller standardbehörigheter, tjänstens huvudnamn och CI/CD-konfigurationer.
  • Regelefterlevnad: I branscher där regelefterlevnad är ett viktigt problem kan paket bidra till att upprätthålla en versionshistorik för kod- och infrastrukturarbete. Detta underlättar styrningen och säkerställer att nödvändiga efterlevnadsstandarder uppfylls.

Hur fungerar Databricks-tillgångspaket?

Paketmetadata definieras med YAML-filer som anger artefakter, resurser och konfiguration av ett Databricks-projekt. Du kan skapa den här YAML-filen manuellt eller generera en med hjälp av en paketmall. Databricks CLI kan sedan användas för att verifiera, distribuera och köra paket med hjälp av dessa YAML-paketfiler. Du kan köra paketprojekt från IDEs, terminaler eller i Databricks direkt. Den här artikeln använder Databricks CLI.

Paket kan skapas manuellt eller baserat på en mall. Databricks CLI tillhandahåller standardmallar för enkla användningsfall, men för mer specifika eller komplexa jobb kan du skapa anpassade paketmallar för att implementera teamets bästa praxis och hålla vanliga konfigurationer konsekventa.

Mer information om konfigurationen av YAML som används för att uttrycka Databricks-tillgångspaket finns i Konfigurationer av Databricks-tillgångspaket.

Konfigurera din miljö att använda paket

Använd Databricks CLI för att enkelt distribuera paket från kommandoraden. Du kan kontrollera om Databricks CLI är installerat och den aktuella versionen som du använder genom att köra följande kommando:

databricks --version

Kommentar

Databricks CLI version 0.218.0 eller senare krävs. Information om hur du installerar Databricks CLI finns i Installera eller uppdatera Databricks CLI.

När du har installerat Databricks CLI kontrollerar du att dina fjärranslutna Databricks-arbetsytor är korrekt konfigurerade. Paket kräver att funktionen för arbetsytefiler aktiveras eftersom den här funktionen stöder arbete med andra filer än Databricks Notebooks, till exempel .py och .yml filer. Om du använder Databricks Runtime version 11.2 (eller senare) bör den här funktionen vara aktiverad som standard.

Autentisering

Azure Databricks tillhandahåller flera autentiseringsmetoder. Databricks rekommenderar att du använder en av följande metoder för att autentisera:

  • För autentiseringsscenarier som du har deltagit i, till exempel manuella arbetsflöden där du använder webbläsaren för att logga in på din Azure Databricks-målarbetsyta (när du uppmanas av Databricks CLI), använder du U2M-autentisering (OAuth user-to-machine). Den här metoden är perfekt för att experimentera med självstudierna komma igång för Databricks-tillgångspaket eller för snabb utveckling av paket.
  • För obevakade autentiseringsscenarier, till exempel helt automatiserade arbetsflöden där det inte finns någon möjlighet för dig att använda webbläsaren för att logga in på din Azure Databricks-målarbetsyta vid den tidpunkten, använder du OAuth-autentisering från dator till dator (M2M). Den här metoden kräver användning av Azure Databricks-tjänstens huvudnamn och är idealisk för att använda Databricks-tillgångspaket med CI/CD-system som GitHub.

Gör följande för OAuth U2M-autentisering:

  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.

Du kan använda den här konfigurationsprofilens namn på ett eller flera av följande sätt när du validerar, distribuerar, kör eller förstör paket:

  • Med kommandoradsalternativet -p <profile-name>, som läggs till i kommandona databricks bundle validate, databricks bundle deploy, databricks bundle run, eller databricks bundle destroy. Se Utveckling av Databricks-tillgångspaket.
  • Som värdet för mappningen profile i paketkonfigurationsfilens toppnivåmappning workspace (även om Databricks rekommenderar att du använder mappningsuppsättningen host till Azure Databricks-arbetsytans URL i stället för mappningen profile , eftersom det gör paketkonfigurationsfilerna mer portabla). Se täckning av mappningen profilearbetsytan.
  • Om konfigurationsprofilens namn är DEFAULTanvänds den som standard när kommandoradsalternativet -p <profile-name> eller (eller host) mappningen profile inte har angetts.

Gör följande för OAuth M2M-autentisering:

  1. Slutför installationsanvisningarna för OAuth M2M-autentisering. Se Använda tjänstens huvudnamn för att autentisera med Azure Databricks.

  2. Installera Databricks CLI på målberäkningsresursen på något av följande sätt:

  3. Ange följande miljövariabler för beräkningsresursen enligt följande:

    • DATABRICKS_HOSTanger du till URL:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net.
    • DATABRICKS_CLIENT_IDanger du värdet för Azure Databricks-tjänstens huvudnamn för program-ID .
    • DATABRICKS_CLIENT_SECRET, inställt på Azure Databricks-tjänstens huvudnamns OAuth Secret-värde .

    Information om hur du anger dessa miljövariabler finns i dokumentationen för målberäkningsresursens operativsystem eller CI/CD-system.

Utveckla ditt första Databricks-tillgångspaket

Det snabbaste sättet att starta paketutveckling är genom att använda en mall. Skapa ditt första paketprojekt med hjälp av Databricks CLI-kommandot bundle init utan några alternativ. Detta visar ett val av standardpaketmallar som tillhandahålls av Databricks och ställer en rad frågor för att initiera projektvariabler.

databricks bundle init

Organisationer kan också skapa anpassade paketmallar för att definiera sina egna standarder. Dessa standarder kan innehålla standardbehörigheter, tjänstens huvudnamn och anpassad CI/CD-konfiguration. Se Mallar för Databricks-tillgångspaket.

När du har initierat projektet använder bundle validate du kommandot för att verifiera paketet innan du distribuerar det till dina arbetsytor.

databricks bundle validate

Du skapar vanligtvis ett paket på en lokal utvecklingsdator med en IDE och Databricks CLI version 0.218.0 eller senare. Med de här verktygen kan du skapa, verifiera, distribuera och köra ett paket. Se Utveckling av Databricks-tillgångspaket.

Du kan redigera ett paket på en Azure Databricks-arbetsyta när du har lagt till paketet i Git med hjälp av Databricks Git-mappintegrering. Du kan dock inte testa eller distribuera ett paket från en arbetsyta. I stället kan du använda din lokala IDE för testning och CI/CD för distribution.

Nästa steg

Vanliga åtgärder

Använd följande artiklar för att slutföra vanliga uppgifter för Databricks-tillgångspaket.

Artikel Använd den här artikeln när du vill...
Utveckling av Databricks-tillgångspaket Lär dig mer om att skapa, validera, distribuera och köra ett paket genom att redigera en databricks.yml fil och genom att använda Databricks CLI för att köra kommandona databricks bundle validate, databricks bundle deployoch databricks bundle run.
Konfigurationer av Databricks Asset Bundle Skapa en paketfil och andra relaterade paketkonfigurationsfiler databricks.yml som överensstämmer med YAML-syntaxen för paketkonfigurationer.
Autentisering för Databricks-tillgångspaket Konfigurera ett paketprojekt för Azure Databricks-autentisering.
Utveckla ett jobb på Azure Databricks med databricks-tillgångspaket Skapa, distribuera och kör ett paket för ett Azure Databricks-jobb.
Utveckla Delta Live Tables-pipelines med Databricks-tillgångspaket Skapa, distribuera och kör ett paket för en Delta Live Tables-pipeline.
Databricks-tillgångspaket för MLOps Stacks Skapa, distribuera och kör ett paket för en MLOps Stack.
Biblioteksberoenden för Databricks-tillgångspaket Installera bibliotek som ett paket måste köras på relaterade Azure Databricks-kluster.
Distributionslägen för Databricks Asset Bundle Använd paketdistributionslägen som development och production för att automatiskt aktivera eller inaktivera vanliga distributionsbeteenden, till exempel pausa eller pausa relaterade scheman och utlösare.
Mallar för Databricks-tillgångspaket Använd en mall för att skapa specifika typer av paket snabbare, enklare och med mer konsekventa och repeterbara resultat.
Ange behörigheter för resurser i Databricks-tillgångspaket Använd detaljerade åtkomstbehörighetsnivåer för användare, grupper och tjänstens huvudnamn för specifika paketresurser.
Definiera artefaktinställningar dynamiskt i Databricks-tillgångspaket Kombinera eller åsidosätta specifika inställningar för artefakter i ett paket.
Köra ett CI/CD-arbetsflöde med ett Databricks-tillgångspaket och GitHub Actions Distribuera eller kör ett paket som svar på en specifik GitHub-arbetsflödeshändelse, till exempel en pull-begäran eller sammanslagning.
Åsidosätta klusterinställningar i Databricks-tillgångspaket Kombinera eller åsidosätta specifika inställningar för kluster i ett paket.
Lägga till uppgifter i jobb i Databricks-tillgångspaket Lägg till en uppgift i ett jobb i ett paket.
Åsidosätt inställningar för jobbuppgifter i Databricks-tillgångspaket Kombinera eller åsidosätta specifika inställningar för jobbaktiviteter i ett paket.
Utveckla en Python-hjulfil med databricks-tillgångspaket Skapa, distribuera och anropa Python-hjulfiler i ett paket.

Fler resurser