bundle
kommandogrupp
Kommentar
Den här informationen gäller för Databricks CLI-versionerna 0.218 och senare. Kör för att hitta din version av Databricks CLI databricks -v
.
Med bundle
kommandogruppen i Databricks CLI kan du programmatiskt verifiera, distribuera och köra Azure Databricks-arbetsflöden som Azure Databricks-jobb, Delta Live Tables-pipelines och MLOps Stacks. Se Vad är Databricks-tillgångspaket?.
Viktigt!
Innan du använder Databricks CLI måste du konfigurera Databricks CLI och konfigurera autentisering för Databricks CLI.
Du kör bundle
kommandon genom att lägga till dem i databricks bundle
. Om du vill visa hjälp för bundle
kommandot kör du databricks bundle -h
.
Skapa ett paket från en projektmall
Om du vill skapa ett Databricks-tillgångspaket med hjälp av standardmallen Databricks Asset Bundle för Python kör bundle init
du kommandot på följande sätt och svarar sedan på anvisningarna på skärmen:
databricks bundle init
Om du vill skapa ett Databricks-tillgångspaket med hjälp av en databricks-mall för databricks-tillgångspaket som inte är standard kör bundle init
du kommandot på följande sätt:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Se även:
- Mallar för Databricks-tillgångspaket
- Utveckla ett jobb på Azure Databricks med databricks-tillgångspaket
- Utveckla Delta Live Tables-pipelines med Databricks-tillgångspaket
- Databricks-tillgångspaket för MLOps Stacks
Visa paketkonfigurationsschemat
Om du vill visa konfigurationsschemat för Databricks Asset Bundle kör bundle schema
du kommandot enligt följande:
databricks bundle schema
Om du vill mata ut konfigurationsschemat för Databricks Asset Bundle som en JSON-fil kör bundle schema
du kommandot och omdirigerar utdata till en JSON-fil. Du kan till exempel generera en fil med namnet bundle_config_schema.json
i den aktuella katalogen enligt följande:
databricks bundle schema > bundle_config_schema.json
Verifiera ett paket
Kontrollera att paketkonfigurationsfilerna är syntaktiskt korrekta genom att köra bundle validate
kommandot från paketprojektets rot enligt följande:
databricks bundle validate
Som standard returnerar det här kommandot en sammanfattning av paketidentiteten:
Name: MyBundle
Target: dev
Workspace:
Host: https://my-host.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/MyBundle/dev
Validation OK!
Kommentar
Kommandot bundle validate
matar ut varningar om resursegenskaper definieras i paketkonfigurationsfilerna som inte finns i motsvarande objekts schema.
Synkronisera ett pakets träd till en arbetsyta
bundle sync
Använd kommandot för att utföra enkelriktad synkronisering av ett pakets filändringar i en lokal filsystemkatalog till en katalog i en fjärransluten Azure Databricks-arbetsyta.
Kommentar
bundle sync
kommandon kan inte synkronisera filändringar från en katalog i en fjärransluten Azure Databricks-arbetsyta, tillbaka till en katalog i ett lokalt filsystem.
databricks bundle sync
kommandon fungerar på samma sätt som databricks bundle
kommandon och tillhandahålls som en produktivitets bekvämlighet. Information om kommandoanvändning finns i synkroniseringskommandogrupp.
Generera en paketkonfigurationsfil
Du kan använda bundle generate
kommandot för att generera resurskonfiguration för ett jobb eller en pipeline som redan finns på databricks-arbetsytan. Det här kommandot genererar en *.yml
fil för jobbet eller pipelinen resources
i mappen i paketprojektet och laddar även ned eventuella notebook-filer som refereras till i jobb- eller pipelinekonfigurationen. För närvarande stöds endast jobb med notebook-uppgifter med det här kommandot.
Viktigt!
Kommandot bundle generate
tillhandahålls som en bekvämlighet för att generera resurskonfiguration automatiskt. Men när den här konfigurationen ingår i paketet och distribueras skapar den en ny resurs och uppdaterar inte den befintliga resursen om den inte bundle deployment bind
först har använts på resursen.
Kör kommandot på bundle generate
följande sätt:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Följande kommando genererar till exempel en ny hello_job.yml
fil i paketprojektmappen resources
som innehåller YAML nedan och laddar ned simple_notebook.py
till projektmappen src
.
databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
jobs:
6565621249:
name: Hello Job
format: MULTI_TASK
tasks:
- task_key: run_notebook
existing_cluster_id: 0704-xxxxxx-yyyyyyy
notebook_task:
notebook_path: ./src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Binda paketresurser
Med bundle deployment bind
kommandot kan du länka paketdefinierade jobb och pipelines till befintliga jobb och pipelines på Azure Databricks-arbetsytan så att de hanteras av Databricks Asset Bundles. Om du binder en resurs uppdateras befintliga Azure Databricks-resurser på arbetsytan baserat på konfigurationen som definierats i paketet som den är bunden till efter nästa bundle deploy
.
Dricks
Det är en bra idé att bekräfta paketarbetsytan innan bindningen körs.
databricks bundle deployment bind [resource-key] [resource-id]
Följande kommando binder till exempel resursen hello_job
till dess fjärrmotsvarighet på arbetsytan. Kommandot matar ut ett diff och gör att du kan neka resursbindningen, men om det bekräftas tillämpas alla uppdateringar av jobbdefinitionen i paketet på motsvarande fjärrjobb när paketet distribueras nästa år.
databricks bundle deployment bind hello_job 6565621249
Använd bundle deployment unbind
om du vill ta bort länken mellan jobbet eller pipelinen i ett paket och dess fjärrmotsvarighet på en arbetsyta.
databricks bundle deployment unbind [resource-key]
Distribuera ett paket
Om du vill distribuera angivna lokala artefakter till fjärrarbetsytan kör bundle deploy
du kommandot från paketprojektets rot. Om inga kommandoalternativ anges används standardmiljön som deklarerats i paketkonfigurationsfilerna enligt följande:
databricks bundle deploy
Dricks
Du kan köra databricks bundle
kommandon utanför paketroten. I så fall kan du ange rotsökvägen för paketet genom att BUNDLE_ROOT
ange miljövariabeln. Om den här miljövariabeln inte har angetts databricks bundle
försöker kommandon hitta paketroten genom att söka i den aktuella arbetskatalogen.
Om du vill distribuera artefakterna i kontexten för en specifik miljö anger du -e
alternativet (eller --environment
) tillsammans med miljöns namn som deklarerats i paketkonfigurationsfilerna. Kör till exempel följande kommando för en miljö som deklarerats med namnet development
:
databricks bundle deploy -e development
Kör ett paket
Om du vill köra ett visst jobb eller en pipeline använder du bundle run
kommandot . Du måste ange resursnyckeln för jobbet eller pipelinen som deklarerats i paketkonfigurationsfilerna. Som standard används miljön som deklareras i paketkonfigurationsfilerna. Kör till exempel följande kommando för att köra ett jobb hello_job
i standardmiljön:
databricks bundle run hello_job
Om du vill ange i vilken miljö ett jobb ska köras använder du alternativet -e
. Följande exempel körs hello_job
i development
miljön:
databricks bundle run -e development hello_job
Om du vill utföra en pipelineverifieringskörning använder du --validate-only
alternativet, som du ser i följande exempel:
databricks bundle run --validate-only my_pipeline
Om du vill skicka jobbparametrar använder du --params
alternativet följt av kommaavgränsade nyckel/värde-par, där nyckeln är parameternamnet. Följande kommando anger till exempel parametern med namnet message
på HelloWorld
för jobbet hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Kommentar
Du kan skicka parametrar till jobbaktiviteter med hjälp av jobbaktivitetsalternativen --params
, men alternativet är den rekommenderade metoden för att skicka jobbparametrar. Ett fel uppstår om jobbparametrar anges för ett jobb som inte har definierat jobbparametrar eller om aktivitetsparametrar har angetts för ett jobb som har definierat jobbparametrar.
Om du vill avbryta och starta om en befintlig jobbkörning eller pipelineuppdatering använder du alternativet --restart
:
databricks bundle run --restart hello_job
Förstöra ett paket
Kör kommandot för att ta bort jobb, pipelines och artefakter som tidigare distribuerades bundle destroy
. Följande kommando tar bort alla tidigare distribuerade jobb, pipelines och artefakter som definieras i paketkonfigurationsfilerna:
databricks bundle destroy
Som standard uppmanas du att bekräfta permanent borttagning av tidigare distribuerade jobb, pipelines och artefakter. Om du vill hoppa över dessa frågor och utföra automatisk permanent borttagning lägger du till --auto-approve
alternativet i bundle destroy
kommandot .
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för