Vad är Databricks-tillgångspaket?

Databricks Asset Bundles (DAB) ä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 Konfiguration av Databricks-tillgångspaket.

Konfigurera din miljö att använda paket

Använd Databricks CLI för att enkelt distribuera paket från kommandoraden. Information om hur du installerar Databricks CLI finns i Installera eller uppdatera Databricks CLI.

Databricks-tillgångspaket är tillgängliga i Databricks CLI version 0.218.0 eller senare. Kör följande kommando för att hitta den version av Databricks CLI som är installerad:

databricks --version

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.3 LTS eller senare är den här funktionen aktiverad som standard.

Autentisering

Azure Databricks innehåller flera autentiseringsmetoder:

  • 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 Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M).

  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 paketprojektmall. Skapa ditt första paketprojekt med init-kommandot Databricks CLI-paket. Det här kommandot 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

Att skapa ditt paket är det första steget i livscykeln för ett paket. Det andra steget är att utveckla ditt paket, vars nyckelelement är att definiera paketinställningar och resurser i konfigurationsfilerna databricks.yml och resursen. Information om paketkonfiguration finns i Konfiguration av Databricks-tillgångspaket.

Dricks

Exempel på paketkonfiguration finns i paketkonfigurationsexempel och lagringsplatsen Paketexempel i GitHub.

Nästa steg