CLI dei processi (legacy)
Importante
Questa documentazione è stata ritirata e potrebbe non essere aggiornata.
Queste informazioni si applicano all'interfaccia della riga di comando di Databricks 0.18 e precedenti. Databricks consiglia di usare invece la versione 0.205 o successiva dell'interfaccia della riga di comando. Consultare Che cos'è il Databricks CLI?. Per trovare la versione del Databricks CLI, eseguire databricks -v
.
Per eseguire la migrazione dalla CLI di Databricks versione 0.18 o precedente alla CLI di Databricks versione 0.205 o successiva, vedere Migrazione della CLI di Databricks.
Eseguire i sottocomandi dell'esecuzione dell’interfaccia della riga di comando di Databricks aggiungendoli a databricks jobs
e i sottocomandi dell'interfaccia della riga di comando dei processi di Databricks aggiungendoli a databricks runs
. Per i sottocomandi dell'esecuzione dell’interfaccia della riga di comando dei processi di Databricks, vedere Esegue la CLI (legacy). Insieme, questi sottocomandi chiamano API Processi e API Processi 2.0.
Importante
La CLI dei processi di Databricks supporta le chiamate a due versioni dell'API REST processi di Databricks: versioni 2.1 e 2.0. La versione 2.1 aggiunge il supporto per l'orchestrazione dei processi con più attività; vedere Pianificare e orchestrare i flussi di lavoro e Aggiornamento dell'API dei processi da 2.0 a 2.1. Databricks consiglia di chiamare la versione 2.1, a meno che non si disponga di script legacy che si basano sulla versione 2.0 e che non possono essere migrati.
Se non diversamente specificato, i comportamenti programmatici descritti in questo articolo si applicano allo stesso modo alle versioni 2.1 e 2.0.
Requisiti per chiamare l'API REST dei processi 2.1
Per configurare e usare la CLI dei processi (e l’esecuzione di processi di CLI) per chiamare l'API REST dei processi 2.1, eseguire quanto segue:
Aggiornare l'interfaccia della riga di comando alla versione 0.16.0 o successiva.
Esegui una delle operazioni seguenti:
- Eseguire il comando
databricks jobs configure --version=2.1
. In questo modo l'impostazionejobs-api-version = 2.1
viene aggiunta al file~/.databrickscfg
in Unix, Linux o macOS o%USERPROFILE%\.databrickscfg
in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.1. - Aggiungere manualmente l'impostazione
jobs-api-version = 2.1
al file~/.databrickscfg
in Unix, Linux o macOS o%USERPROFILE%\.databrickscfg
in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.1. - Aggiungere l'opzione
--version=2.1
(ad esempiodatabricks jobs list --version=2.1
) per indicare alla CLI dei processi di chiamare l'API REST dei processi 2.1 solo per tale chiamata.
Per impostazione predefinita, se non si eseguono le azioni precedenti, l’esecuzione di CLI (e CLI dei processi) chiamerà l'API REST dei processi 2.0.
- Eseguire il comando
Requisiti per chiamare l'API REST dei processi 2.0
Per configurare e usare la CLI dei processi (e l’esecuzione di processi di CLI) per chiamare l'API REST dei processi 2.0, eseguire una delle seguenti operazioni:
- Usare una versione dell'interfaccia della riga di comando di Databricks inferiore alla 0.16.0 oppure
- Aggiornare l'interfaccia della riga di comando alla versione X.Y.Z o successiva e quindi eseguire una delle operazioni seguenti:
- Eseguire il comando
databricks jobs configure --version=2.0
. In questo modo l'impostazionejobs-api-version = 2.0
viene aggiunta al file~/.databrickscfg
in Unix, Linux o macOS o%USERPROFILE%\.databrickscfg
in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.0. - Aggiungere manualmente l'impostazione
jobs-api-version = 2.0
al file~/.databrickscfg
in Unix, Linux o macOS o%USERPROFILE%\.databrickscfg
in Windows. Per impostazione predefinita, tutti i sottocomandi dell'interfaccia della riga di comando dei processi (e dell'interfaccia della riga di comando di esecuzione dei processi) chiameranno la REST API dei processi 2.0. - Aggiungere l'opzione
--version=2.1
(ad esempiodatabricks jobs list --version=2.0
) per indicare alla CLI dei processi di chiamare l'API REST dei processi 2.0 solo per tale chiamata.
- Eseguire il comando
Per impostazione predefinita, se non si eseguono le azioni precedenti, l’esecuzione di CLI (e CLI dei processi) chiamerà l'API REST dei processi 2.0.
Sottocomandi e utilizzo generale
databricks jobs -h
Usage: databricks jobs [OPTIONS] COMMAND [ARGS]...
Utility to interact with jobs.
Job runs are handled by ``databricks runs``.
Options:
-v, --version [VERSION]
-h, --help Show this message and exit.
Commands:
create Creates a job.
Options:
--json-file PATH File containing JSON request to POST to /api/2.0/jobs/create.
--json JSON JSON string to POST to /api/2.0/jobs/create.
delete Deletes a job.
Options:
--job-id JOB_ID Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
get Describes the metadata for a job.
Options:
--job-id JOB_ID Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
list Lists the jobs in the Databricks Job Service.
reset Resets (edits) the definition of a job.
Options:
--job-id JOB_ID Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
--json-file PATH File containing JSON request to POST to /api/2.0/jobs/create.
--json JSON JSON string to POST to /api/2.0/jobs/create.
run-now Runs a job with optional per-run parameters.
Options:
--job-id JOB_ID Can be found in the URL at https://<databricks-instance>/#job/$JOB_ID. [required]
--jar-params JSON JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
--notebook-params JSON JSON string specifying a map of key-value pairs. i.e. '{"name": "john doe", "age": 35}'
--python-params JSON JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
--spark-submit-params JSON JSON string specifying an array of parameters. i.e. '["--class", "org.apache.spark.examples.SparkPi"]'
Creare un processo
Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs create --help
.
Utilizzo generale
databricks jobs create --json-file create-job.json
Esempio di richiesta e note sull'utilizzo di CLI dei processi 2.1
Vedere Creare in Aggiornamento dell'API dei processi da 2.0 a 2.1.
Esempio di payload della richiesta e risposta dell'interfaccia della riga di comando dei processi 2.0
create-job.json
:
{
"name": "my-job",
"existing_cluster_id": "1234-567890-reef123",
"notebook_task": {
"notebook_path": "/Users/someone@example.com/My Notebook"
},
"email_notifications": {
"on_success": [
"someone@example.com"
],
"on_failure": [
"someone@example.com"
]
}
}
{ "job_id": 246 }
Suggerimento
Per copiare un processo, eseguire il comando create
e passare un oggetto JSON con le impostazioni del processo da copiare. In questo esempio vengono copiate in un nuovo processo le impostazioni del processo con l'ID di 246
. Richiede l'utilità jq.
SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)
databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }
Eliminare un processo
Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs delete --help
.
databricks job delete --job-id 246
In caso di esito positivo, non viene visualizzato alcun output.
Suggerimento
Per eliminare più processi con la stessa impostazione, ottenere l'elenco di ID dei processi che corrispondono a tale impostazione e quindi eseguire il comando delete
per ogni ID di processo corrispondente. In questo esempio vengono eliminati tutti i processi che hanno Untitled
come nome del processo. Richiede l'utilità jq.
databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id
Elencare informazioni su un processo
Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs get --help
.
Utilizzo generale
databricks jobs get --job-id 246
Esempio di risposta e note sull'utilizzo di CLI dei processi 2.1
Vedere Ottenere in Aggiornamento dell'API dei processi da 2.0 a 2.1.
Esempio di risposta dell'interfaccia della riga di comando dei processi 2.0
{
"job_id": 246,
"settings": {
"name": "my-job",
"existing_cluster_id": "1234-567890-reef123",
"email_notifications": {
"on_success": [
"someone@example.com"
],
"on_failure": [
"someone@example.com"
]
},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Users/someone@example.com/My Notebook"
},
"max_concurrent_runs": 1
},
"created_time": 1620163107742,
"creator_user_name": "someone@example.com"
}
Elencare le informazioni sui processi disponibili
Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs list --help
.
Utilizzo generale
databricks jobs list
Esempio di risposta e note sull'utilizzo di CLI dei processi 2.1
Vedere Elenco in Aggiornamento dall'API dei processi da 2.0 a 2.1.
Esempio di risposta dell'interfaccia della riga di comando dei processi 2.0
{
"jobs": [
{
"job_id": 246,
"settings": {
"name": "my-job",
"existing_cluster_id": "1234-567890-reef123",
"email_notifications": {
"on_success": [
"someone@example.com"
],
"on_failure": [
"someone@example.com"
]
},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Users/someone@example.com/My Notebook"
},
"max_concurrent_runs": 1
},
"created_time": 1620163107742,
"creator_user_name": "someone@example.com"
},
...
]
}
Elencare tutti i processi (solo API 2.1)
Per indicare all'interfaccia della riga di comando di restituire tutti i processi effettuando chiamate sequenziali all'API, usare l'opzione --all
. Per usare l'opzione --all
, è necessario impostare la versione dell'API su 2.1.
databricks jobs list --all
Impagina l'elenco dei processi (solo API 2.1)
Per restituire un elenco di processi impaginati, utilizzare gli argomenti --limit
e --offset
. Per impostazione predefinita, l'elenco dei processi viene restituito come tabella contenente l'ID e il nome del processo. Per restituire facoltativamente un documento JSON contenente informazioni sul processo, usare l'argomento --output JSON
.
Per usare gli argomenti --limit
e --offset
, è necessario impostare la versione dell'API su 2.1.
Quando si usa --output JSON
, l'elenco viene restituito in ordine decrescente in base alla data di creazione del processo. Quando si usa --output TABLE
, l'elenco viene restituito in ordine decrescente in base alla data di creazione del processo e quindi ordinato alfabeticamente in base al nome del processo.
L'esempio seguente illustra l'elenco dei processi 10 alla volta e restituisce i risultati in formato JSON:
databricks jobs list --output JSON --limit 10
databricks jobs list --output JSON --limit 10 --offset 10
databricks jobs list --output JSON --limit 10 --offset 20
Modificare le impostazioni per un processo
Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs reset --help
.
Utilizzo generale
databricks jobs reset --job-id 246 --json-file reset-job.json
Esempio di richiesta e note sull'utilizzo di CLI dei processi 2.1
Vedere Aggiornamento e Reset in Aggiornamento dell'API dei processi da 2.0 a 2.1.
Esempio di richiesta dell'interfaccia della riga di comando dei processi 2.0
reset-job.json
:
{
"job_id": 246,
"existing_cluster_id": "2345-678901-batch234",
"name": "my-changed-job",
"notebook_task": {
"notebook_path": "/Users/someone@example.com/My Other Notebook"
},
"email_notifications": {
"on_success": [
"someone-else@example.com"
],
"on_failure": [
"someone-else@example.com"
]
}
}
In caso di esito positivo, non viene visualizzato alcun output.
Eseguire un processo
Per visualizzare la documentazione sull'utilizzo, eseguire databricks jobs run-now --help
.
databricks jobs run-now --job-id 246
{
"run_id": 122,
"number_in_job": 1
}