bundle
gruppo di comandi
Nota
Queste informazioni si applicano all'interfaccia della riga di comando di Databricks 0.218.0 e versioni successive. Per trovare la versione dell'interfaccia della riga di comando di Databricks, eseguire databricks -v
.
Il bundle
gruppo di comandi all'interno dell'interfaccia della riga di comando di Databricks consente di convalidare, distribuire ed eseguire flussi di lavoro di Azure Databricks a livello di codice, ad esempio processi di Azure Databricks, pipeline di tabelle live delta e stack MLOps. Vedere Che cosa sono i bundle di asset di Databricks?.
Importante
Per installare l'interfaccia della riga di comando di Databricks, vedere Installare o aggiornare l'interfaccia della riga di comando di Databricks. Per configurare l'autenticazione per l'interfaccia della riga di comando di Databricks, vedere Autenticazione per l'interfaccia della riga di comando di Databricks.
I comandi vengono eseguiti bundle
aggiungendoli a databricks bundle
. Per visualizzare la Guida per il bundle
comando, eseguire databricks bundle -h
.
Creare un bundle da un modello di progetto
Per creare un bundle di asset di Databricks usando il modello di bundle di asset di Databricks predefinito per Python, eseguire il bundle init
comando come indicato di seguito e quindi rispondere ai prompt sullo schermo:
databricks bundle init
Per creare un bundle di asset di Databricks usando un modello di bundle di asset di Databricks non predefinito, eseguire il bundle init
comando come segue:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Vedere anche:
- Modelli di aggregazione di asset di Databricks
- Sviluppare un processo in Azure Databricks usando i bundle di asset di Databricks
- Sviluppare pipeline di tabelle live Delta con bundle di asset di Databricks
- Bundle di asset di Databricks per stack MLOps
Visualizzare lo schema di configurazione del bundle
Per visualizzare lo schema di configurazione del bundle di asset di Databricks, eseguire il bundle schema
comando come indicato di seguito:
databricks bundle schema
Per restituire lo schema di configurazione del bundle di asset di Databricks come file JSON, eseguire il bundle schema
comando e reindirizzare l'output a un file JSON. Ad esempio, è possibile generare un file denominato bundle_config_schema.json
all'interno della directory corrente, come indicato di seguito:
databricks bundle schema > bundle_config_schema.json
Convalidare un bundle
Per verificare che i file di configurazione del bundle siano sintatticamente corretti, eseguire il bundle validate
comando dalla radice del progetto bundle, come indicato di seguito:
databricks bundle validate
Per impostazione predefinita, questo comando restituisce un riepilogo dell'identità del bundle:
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!
Nota
Il bundle validate
comando restituisce avvisi se le proprietà delle risorse vengono definite nei file di configurazione del bundle non trovati nello schema dell'oggetto corrispondente.
Sincronizzare l'albero di un bundle in un'area di lavoro
Usare il bundle sync
comando per eseguire la sincronizzazione unidirezionale delle modifiche dei file di un bundle all'interno di una directory del file system locale, in una directory all'interno di un'area di lavoro remota di Azure Databricks.
Nota
bundle sync
I comandi non possono sincronizzare le modifiche dei file da una directory all'interno di un'area di lavoro remota di Azure Databricks, in una directory all'interno di un file system locale.
databricks bundle sync
i comandi funzionano allo stesso modo dei databricks sync
comandi e vengono forniti come praticità per la produttività. Per informazioni sull'utilizzo dei comandi, vedere Gruppo di comandi di sincronizzazione.
Generare un file di configurazione del bundle
È possibile usare il bundle generate
comando per generare la configurazione delle risorse per un processo o una pipeline già esistente nell'area di lavoro di Databricks. Questo comando genera un *.yml
file per il processo o la pipeline nella resources
cartella del progetto bundle e scarica anche tutti i notebook a cui si fa riferimento nella configurazione del processo o della pipeline. Attualmente, solo i processi con attività del notebook sono supportati da questo comando.
Importante
Il bundle generate
comando viene fornito per praticità per generare automaticamente la configurazione delle risorse. Tuttavia, quando questa configurazione viene inclusa nel bundle e distribuita, crea una nuova risorsa e non aggiorna la risorsa esistente a meno che bundle deployment bind
non sia stata usata per la prima volta nella risorsa.
Eseguire il bundle generate
comando come segue:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Ad esempio, il comando seguente genera un nuovo hello_job.yml
file nella resources
cartella del progetto bundle contenente il file YAML seguente e scarica nella simple_notebook.py
cartella del src
progetto.
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
Associare le risorse del bundle
Il bundle deployment bind
comando consente di collegare processi e pipeline definiti in bundle a pipeline e processi esistenti nell'area di lavoro di Azure Databricks in modo che diventino gestiti da Bundle di asset di Databricks. Se si associa una risorsa, le risorse di Azure Databricks esistenti nell'area di lavoro vengono aggiornate in base alla configurazione definita nel bundle a cui è associato dopo la successiva bundle deploy
.
Suggerimento
È consigliabile confermare l'area di lavoro del bundle prima di eseguire l'associazione.
databricks bundle deployment bind [resource-key] [resource-id]
Ad esempio, il comando seguente associa la risorsa hello_job
alla controparte remota nell'area di lavoro. Il comando restituisce un diff e consente di negare l'associazione di risorse, ma, se confermato, eventuali aggiornamenti alla definizione del processo nel bundle vengono applicati al processo remoto corrispondente quando il bundle viene distribuito successivamente.
databricks bundle deployment bind hello_job 6565621249
Usare bundle deployment unbind
se si vuole rimuovere il collegamento tra il processo o la pipeline in un bundle e la relativa controparte remota in un'area di lavoro.
databricks bundle deployment unbind [resource-key]
Distribuire un bundle
Per distribuire un bundle nell'area di lavoro remota, eseguire il bundle deploy
comando dalla radice del progetto bundle. Se non vengono specificate opzioni di comando, viene usata la destinazione predefinita dichiarata all'interno dei file di configurazione del bundle.
databricks bundle deploy
Per distribuire il bundle in una destinazione specifica, impostare l'opzione -t
(o --target
) insieme al nome della destinazione come dichiarato all'interno dei file di configurazione del bundle. Ad esempio, per una destinazione dichiarata con il nome dev
:
databricks bundle deploy -t dev
Un bundle può essere distribuito in più aree di lavoro, ad esempio sviluppo, gestione temporanea e aree di lavoro di produzione. Fondamentalmente, la proprietà è ciò che determina l'identità root_path
univoca di un bundle, che per impostazione predefinita è ~/.bundle/${bundle.name}/${bundle.target}
. Di conseguenza, per impostazione predefinita, l'identità di un bundle è costituita dall'identità del deployer, dal nome del bundle e dal nome di destinazione del bundle. Se questi sono identici in bundle diversi, la distribuzione di questi bundle interferisce tra loro.
Inoltre, una distribuzione bundle tiene traccia delle risorse create nell'area di lavoro di destinazione in base ai relativi ID come stato archiviato nel file system dell'area di lavoro. I nomi delle risorse non vengono usati per correlare tra una distribuzione di bundle e un'istanza di risorsa, quindi:
- Se una risorsa nella configurazione del bundle non esiste nell'area di lavoro di destinazione, viene creata.
- Se nell'area di lavoro di destinazione è presente una risorsa nella configurazione del bundle, viene aggiornata nell'area di lavoro.
- Se una risorsa viene rimossa dalla configurazione del bundle, viene rimossa dall'area di lavoro di destinazione se è stata distribuita in precedenza.
- L'associazione di una risorsa a un bundle può essere dimenticata solo se si modifica il nome del bundle, la destinazione del bundle o l'area di lavoro. È possibile eseguire
bundle validate
per restituire un riepilogo contenente questi valori.
Eseguire un bundle
Per eseguire un processo o una pipeline specifica, usare il bundle run
comando . È necessario specificare la chiave di risorsa del processo o della pipeline dichiarata all'interno dei file di configurazione del bundle. Per impostazione predefinita, viene usato l'ambiente dichiarato all'interno dei file di configurazione del bundle. Ad esempio, per eseguire un processo hello_job
nell'ambiente predefinito, eseguire il comando seguente:
databricks bundle run hello_job
Per eseguire un processo con una chiave hello_job
nel contesto di una destinazione dichiarata con il nome dev
:
databricks bundle run -t dev hello_job
Se si vuole eseguire una convalida della pipeline, usare l'opzione --validate-only
, come illustrato nell'esempio seguente:
databricks bundle run --validate-only my_pipeline
Per passare i parametri del processo, usare l'opzione --params
, seguita da coppie chiave-valore delimitate da virgole, in cui la chiave è il nome del parametro. Ad esempio, il comando seguente imposta il parametro con il nome message
su HelloWorld
per il processo hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Nota
È possibile passare parametri alle attività di processo usando le opzioni dell'attività di processo, ma l'opzione --params
è il metodo consigliato per passare i parametri del processo. Si verifica un errore se per un processo vengono specificati parametri di processo che non dispongono di parametri di processo definiti o se per un processo con parametri di processo definiti vengono specificati parametri di attività.
Per annullare e riavviare un aggiornamento di processo o pipeline esistente, usare l'opzione --restart
:
databricks bundle run --restart hello_job
Distruggere un bundle
Per eliminare processi, pipeline e artefatti distribuiti in precedenza, eseguire il bundle destroy
comando . Il comando seguente elimina tutti i processi, le pipeline e gli artefatti distribuiti in precedenza definiti nei file di configurazione del bundle:
databricks bundle destroy
Nota
L'identità di un bundle è costituita dal nome del bundle, dalla destinazione del bundle e dall'area di lavoro. Se è stata modificata una di queste e quindi si tenta di eliminare definitivamente un bundle prima della distribuzione, si verificherà un errore.
Per impostazione predefinita, viene richiesto di confermare l'eliminazione permanente dei processi, delle pipeline e degli artefatti distribuiti in precedenza. Per ignorare questi prompt ed eseguire l'eliminazione permanente automatica, aggiungere l'opzione --auto-approve
al bundle destroy
comando .
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per