Jobs CLI (legado)
Importante
Esta documentação foi desativada e pode não ser atualizada.
Essas informações se aplicam às versões herdadas da CLI do Databricks 0.18 e inferiores. O Databricks recomenda que você use a CLI mais recente do Databricks versão 0.205 ou superior. Consulte O que é a CLI do Databricks?. Para encontrar sua versão da CLI do Databricks, execute databricks -v
.
Para migrar da CLI do Databricks versão 0.18 ou inferior para a CLI do Databricks versão 0.205 ou superior, consulte Migração da CLI do Databricks.
Você executa os subcomandos da CLI dos trabalhos do Databricks anexando-os e databricks jobs
o trabalho do Databricks executa os subcomandos da CLI anexando-os ao databricks runs
. Para que o trabalho Databricks execute subcomandos da CLI, consulte Executa CLI (legado). Juntos, esses subcomandos chamam a API de Trabalhos e a API de Trabalhos 2.0.
Importante
A CLI de trabalhos do Databricks suporta chamadas para duas versões da API REST do Databricks Jobs: versões 2.1 e 2.0. A versão 2.1 adiciona suporte para orquestração de trabalhos com várias tarefas; consulte Agendar e orquestrar fluxos de trabalho e Atualização da API de trabalhos 2.0 para 2.1. O Databricks recomenda que você chame a versão 2.1, a menos que você tenha scripts herdados que dependem da versão 2.0 e que não podem ser migrados.
A menos que especificado de outra forma, os comportamentos programáticos descritos neste artigo aplicam-se igualmente às versões 2.1 e 2.0.
Requisitos para chamar a API REST de trabalhos 2.1
Para configurar e usar a CLI de trabalhos do Databricks (e a CLI de execução do trabalho) para chamar a API REST de Trabalhos 2.1, faça o seguinte:
Atualize a CLI para a versão 0.16.0 ou superior.
Execute um dos seguintes procedimentos:
- Execute o comando
databricks jobs configure --version=2.1
. Isso adiciona a configuraçãojobs-api-version = 2.1
ao arquivo~/.databrickscfg
no Unix, Linux ou macOS, ou%USERPROFILE%\.databrickscfg
no Windows. Todos os subcomandos de CLI de trabalhos (e CLI de execução de trabalho) chamarão a API REST de trabalhos 2.1 por padrão. - Adicione manualmente a configuração
jobs-api-version = 2.1
ao arquivo~/.databrickscfg
no Unix, Linux ou macOS, ou%USERPROFILE%\.databrickscfg
no Windows. Todos os subcomandos de CLI de trabalhos (e CLI de execução de trabalho) chamarão a API REST de trabalhos 2.1 por padrão. - Anexe a opção
--version=2.1
(por exemplo,databricks jobs list --version=2.1
) para instruir a CLI de trabalhos a chamar a API REST de trabalhos 2.1 apenas para essa chamada.
Se você não executar nenhuma das ações anteriores, a CLI de trabalhos (e a CLI de execução de trabalho) chamará a API REST de Trabalhos 2.0 por padrão.
- Execute o comando
Requisitos para chamar a API REST de trabalhos 2.0
Para configurar e usar a CLI de trabalhos do Databricks (e a CLI de execução do trabalho) para chamar a API REST de trabalhos 2.0, siga um destes procedimentos:
- Use uma versão da CLI do Databricks abaixo de 0.16.0 ou
-
Atualize a CLI para a versão X.Y.Z ou superior e siga um destes procedimentos:
- Execute o comando
databricks jobs configure --version=2.0
. Isso adiciona a configuraçãojobs-api-version = 2.0
ao arquivo~/.databrickscfg
no Unix, Linux ou macOS, ou%USERPROFILE%\.databrickscfg
no Windows. Todos os subcomandos de CLI de trabalhos (e CLI de execução de trabalho) chamarão a API REST de trabalhos 2.0 por padrão. - Adicione manualmente a configuração
jobs-api-version = 2.0
ao arquivo~/.databrickscfg
no Unix, Linux ou macOS, ou%USERPROFILE%\.databrickscfg
no Windows. Todos os subcomandos de CLI de trabalhos (e CLI de execução de trabalho) chamarão a API REST de trabalhos 2.0 por padrão. - Anexe a opção
--version=2.1
(por exemplo,databricks jobs list --version=2.0
) para instruir a CLI de trabalhos a chamar a API REST de trabalhos 2.0 apenas para essa chamada.
- Execute o comando
Se você não executar nenhuma das ações anteriores, a CLI de trabalhos (e a CLI de execução de trabalho) chamará a API REST de Trabalhos 2.0 por padrão.
Subcomandos e uso geral
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"]'
Criar um trabalho
Para exibir a documentação de uso, execute databricks jobs create --help
.
Utilização geral
databricks jobs create --json-file create-job.json
Notas de uso e exemplo de solicitação da CLI 2.1 de trabalhos
Consulte Criar na atualização da API de trabalhos 2.0 para 2.1.
Exemplo de solicitação de carga útil e resposta da CLI 2.0 de trabalhos
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 }
Gorjeta
Para copiar um trabalho, execute o create
comando e passe um objeto JSON com as configurações do trabalho a ser copiado. Este exemplo copia as configurações do trabalho com a ID de 246
em um novo trabalho. Requer o utilitário jq .
SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)
databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }
Eliminar trabalhos
Para exibir a documentação de uso, execute databricks jobs delete --help
.
databricks job delete --job-id 246
Se for bem-sucedida, nenhuma saída será exibida.
Gorjeta
Para excluir vários trabalhos com a mesma configuração, obtenha a lista de IDs de trabalho que correspondem a essa configuração e execute o delete
comando para cada ID de trabalho correspondente. Este exemplo exclui todos os trabalhos com o nome do trabalho de Untitled
. Requer o utilitário jq .
databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id
Listar informações sobre um trabalho
Para exibir a documentação de uso, execute databricks jobs get --help
.
Utilização geral
databricks jobs get --job-id 246
Notas de uso e exemplo de resposta da CLI 2.1 de trabalhos
Consulte Obter em Atualização da API de trabalhos 2.0 para 2.1.
Exemplo de resposta da CLI 2.0 de trabalhos
{
"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"
}
Listar informações sobre vagas disponíveis
Para exibir a documentação de uso, execute databricks jobs list --help
.
Utilização geral
databricks jobs list
Notas de uso e exemplo de resposta da CLI 2.1 de trabalhos
Consulte Lista em Atualizando da API de trabalhos 2.0 para 2.1.
Exemplo de resposta da CLI 2.0 de trabalhos
{
"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"
},
...
]
}
Listar todos os trabalhos (somente API 2.1)
Para instruir a CLI a retornar todos os trabalhos fazendo chamadas sequenciais para a API, use a --all
opção. Para usar a --all
opção, você deve definir a versão da API como 2.1.
databricks jobs list --all
Paginar a lista de trabalhos (somente API 2.1)
Para retornar uma lista de trabalhos paginados, use os --limit
argumentos e --offset
. Por padrão, a lista de trabalhos é retornada como uma tabela que contém a ID e o nome do trabalho. Para retornar opcionalmente um documento JSON contendo informações de trabalho, use o --output JSON
argumento.
Para usar os --limit
argumentos and --offset
, você deve definir a versão da API como 2.1.
Ao usar --output JSON
o , a lista é retornada em ordem decrescente por data de criação do trabalho. Ao usar --output TABLE
o , a lista é retornada em ordem decrescente por data de criação do trabalho e, em seguida, ordenada alfabeticamente pelo nome do trabalho.
As páginas de exemplo a seguir passam pela lista de trabalhos 10 trabalhos de cada vez e retornam os resultados no 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
Alterar as configurações de um trabalho
Para exibir a documentação de uso, execute databricks jobs reset --help
.
Utilização geral
databricks jobs reset --job-id 246 --json-file reset-job.json
Notas de uso e exemplo de solicitação da CLI 2.1 de trabalhos
Consulte Atualizar e redefinir na atualização da API de trabalhos 2.0 para 2.1.
Exemplo de solicitação da CLI 2.0 de trabalhos
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"
]
}
}
Se for bem-sucedida, nenhuma saída será exibida.
Executar uma tarefa
Para exibir a documentação de uso, execute databricks jobs run-now --help
.
databricks jobs run-now --job-id 246
{
"run_id": 122,
"number_in_job": 1
}