CLI de trabajos (heredada)
Importante
Esta documentación se ha retirado y es posible que no se actualice.
Esta información se aplica a las versiones heredadas de la CLI de Databricks 0.18 y versiones posteriores. En su lugar, Databricks recomienda usar la versión más reciente 0.205 o posterior de la CLI de Databricks. Consulte ¿Qué es la CLI de Databricks?. Para encontrar su versión de la CLI de Databricks, ejecute databricks -v
.
Para migrar de la versión 0.18 o inferior a la versión 0.205 o superior de la CLI de Databricks, consulte Migración de la CLI de Databricks.
Para ejecutar los subcomandos de la CLI de trabajos de Databricks, anéxelos a databricks jobs
. Para ejecutar los subcomandos de la CLI de ejecuciones de trabajos de Databricks, anéxelos a databricks runs
. Para ver los subcomandos de la CLI de ejecuciones de trabajos de Databricks, consulte la CLI de ejecuciones (heredada). Juntos, estos subcomandos llaman a Jobs API 2.0 y Jobs API.
Importante
La CLI de trabajos de Databricks admite llamadas a dos versiones de la API REST de trabajos de Databricks: las versiones 2.1 y 2.0. La versión 2.1 agrega soporte técnico para la orquestación de trabajos con varias tareas; consulte Programación y orquestación de flujos de trabajo y Actualización de la API de trabajos de 2.0 a 2.1. Databricks recomienda llamar a la versión 2.1, a menos que tenga scripts heredados que dependan de la versión 2.0 y no se puedan migrar.
A menos que se especifique lo contrario, los comportamientos de programación que se describen en este artículo se aplican igualmente a las versiones 2.1 y 2.0.
Requisitos para llamar a la API de REST 2.1 de trabajos
Para configurar y usar la CLI de trabajos de Databricks (y la CLI de ejecuciones de trabajos) para llamar a la API REST 2.1 de trabajos, haga lo siguiente:
Actualice la CLI a la versión 0.16.0 o posterior.
Realice una de las siguientes acciones:
- Ejecute el comando
databricks jobs configure --version=2.1
. La configuraciónjobs-api-version = 2.1
se agrega al archivo~/.databrickscfg
en Unix, Linux o macOS, o a%USERPROFILE%\.databrickscfg
en Windows. Todos los subcomandos de la CLI de trabajos (y de la CLI de ejecuciones de trabajos) llamarán a la API REST 2.1 de trabajos de manera predeterminada. - Agregue manualmente la configuración
jobs-api-version = 2.1
al archivo~/.databrickscfg
en Unix, Linux o macOS, o a%USERPROFILE%\.databrickscfg
en Windows. Todos los subcomandos de la CLI de trabajos (y de la CLI de ejecuciones de trabajos) llamarán a la API REST 2.1 de trabajos de manera predeterminada. - Anexe la opción
--version=2.1
(por ejemplo,databricks jobs list --version=2.1
) para indicar a la CLI de trabajos que llame a la API REST 2.1 de trabajos solo para esa llamada.
Si no realiza ninguna de las acciones anteriores, la CLI de trabajos (y la CLI de ejecuciones de trabajos) llamará a la API REST 2.0 de trabajos de manera predeterminada.
- Ejecute el comando
Requisitos para llamar a la API de REST 2.0 de trabajos
Para configurar y usar la CLI de trabajos de Databricks (y la CLI de ejecuciones de trabajos) para llamar a la API REST 2.0 de trabajos, tiene estas opciones:
- Use una versión de la CLI de Databricks inferior a 0.16.0, o
- Actualice la CLI a la versión X.Y.Z o posterior, y después haga lo siguiente:
- Ejecute el comando
databricks jobs configure --version=2.0
. La configuraciónjobs-api-version = 2.0
se agrega al archivo~/.databrickscfg
en Unix, Linux o macOS, o a%USERPROFILE%\.databrickscfg
en Windows. Todos los subcomandos de la CLI de trabajos (y de la CLI de ejecuciones de trabajos) llamarán a la API REST 2.0 de trabajos de manera predeterminada. - Agregue manualmente la configuración
jobs-api-version = 2.0
al archivo~/.databrickscfg
en Unix, Linux o macOS, o a%USERPROFILE%\.databrickscfg
en Windows. Todos los subcomandos de la CLI de trabajos (y de la CLI de ejecuciones de trabajos) llamarán a la API REST 2.0 de trabajos de manera predeterminada. - Anexe la opción
--version=2.1
(por ejemplo,databricks jobs list --version=2.0
) para indicar a la CLI de trabajos que llame a la API REST 2.0 de trabajos solo para esa llamada.
- Ejecute el comando
Si no realiza ninguna de las acciones anteriores, la CLI de trabajos (y la CLI de ejecuciones de trabajos) llamará a la API REST 2.0 de trabajos de manera predeterminada.
Subcomandos y uso general
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"]'
Creación de un trabajo
Para mostrar la documentación de uso, ejecute databricks jobs create --help
.
Uso general
databricks jobs create --json-file create-job.json
Notas de uso y ejemplo de solicitud de la CLI 2.1 de trabajos
Consulte Creación en actualización de Jobs API 2.0 a 2.1.
Ejemplo de carga de solicitud y respuesta de la CLI 2.0 de trabajos
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 }
Sugerencia
Para copiar un trabajo, ejecute el comando create
y pase un objeto JSON con la configuración del trabajo que se copiará. En este ejemplo se copia la configuración del trabajo, con el Id. de 246
, en un nuevo trabajo. Necesita la utilidad jq.
SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)
databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }
Eliminación de un trabajo
Para mostrar la documentación de uso, ejecute databricks jobs delete --help
.
databricks job delete --job-id 246
Si se lleva a cabo correctamente, no se muestra ninguna salida.
Sugerencia
Para eliminar varios trabajos con la misma configuración, obtenga la lista de Ids. de trabajo que coincidan con esa configuración. Después, ejecute el comando delete
para cada Id. de trabajo coincidente. En este ejemplo se eliminan todos los trabajos con el nombre de trabajo Untitled
. Necesita la utilidad jq.
databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id
Enumeración de la información sobre un trabajo
Para mostrar la documentación de uso, ejecute databricks jobs get --help
.
Uso general
databricks jobs get --job-id 246
Notas de uso y ejemplo de respuesta de la CLI 2.1 de trabajos
Consulte Obtener en actualización de Jobs API 2.0 a 2.1.
Ejemplo de respuesta de la CLI 2.0 de trabajos
{
"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"
}
Enumeración de la información sobre los trabajos disponibles
Para mostrar la documentación de uso, ejecute databricks jobs list --help
.
Uso general
databricks jobs list
Notas de uso y ejemplo de respuesta de la CLI 2.1 de trabajos
Consulte Lista en Actualización de Jobs API 2.0 a 2.1.
Ejemplo de respuesta de la CLI 2.0 de trabajos
{
"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"
},
...
]
}
Enumeración de todos los trabajos (solo API 2.1)
Para indicar a la CLI que devuelva todos los trabajos mediante llamadas secuenciales a la API, use la opción --all
. Para usar la opción --all
, debe establecer la versión de la API en la 2.1.
databricks jobs list --all
Paginación de la lista de trabajos (solo API 2.1)
Para devolver una lista de trabajos paginada, use los argumentos --limit
y --offset
. De manera predeterminada, la lista de trabajos se devuelve como una tabla que contiene el identificador de trabajo y el nombre del trabajo. Para devolver opcionalmente un documento JSON que contiene información de los trabajos, use el argumento --output JSON
.
Para usar los argumentos --limit
y --offset
, debe establecer la versión de la API en la 2.1.
Cuando se usa --output JSON
, la lista se devuelve en orden descendente por fecha de creación del trabajo. Cuando se usa --output TABLE
, la lista se devuelve en orden descendente por fecha de creación del trabajo y, a continuación, se ordena alfabéticamente por nombre del trabajo.
En el ejemplo siguiente, se pagina la lista de trabajos con 10 trabajos cada vez y se devuelven los resultados en 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
Cambie la configuración de un trabajo
Para mostrar la documentación de uso, ejecute databricks jobs reset --help
.
Uso general
databricks jobs reset --job-id 246 --json-file reset-job.json
Notas de uso y ejemplo de solicitud de la CLI 2.1 de trabajos
Consulte Actualización y restablecimiento en Actualización desde Jobs API 2.0 a 2.1.
Ejemplo de solicitud de la CLI 2.0 de trabajos
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"
]
}
}
Si se lleva a cabo correctamente, no se muestra ninguna salida.
Ejecución de un trabajo
Para mostrar la documentación de uso, ejecute databricks jobs run-now --help
.
databricks jobs run-now --job-id 246
{
"run_id": 122,
"number_in_job": 1
}