Share via


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:

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