CLI de trabalho (herdada)
Importante
Esta documentação foi desativada e pode não estar atualizada.
Essas informações se aplicam às versões herdadas da CLI do Databricks 0.18 e anteriores. O Databricks recomenda que você use a versão 0.205 da CLI do Databricks mais recente ou superior. Consulte O que é a CLI do Databricks?. Para localizar 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.
Para executar subcomandos da CLI de trabalhos do Databricks anexe-os a databricks jobs
. Para executar subcomandos da CLI de execuções de trabalhos do Databricks, anexe-os a databricks runs
. Para subcomandos do trabalho Execuções de CLI do Databricks, consulte Execuções de CLI (herdado). Juntos, esses subcomandos chamam a API de Trabalhos e a API de Trabalhos 2.0.
Importante
A CLI de trabalhos do Databricks oferece suporte a chamadas para duas versões da API REST de Trabalhos do Databricks: versões 2.1 e 2.0. A versão 2.1 adiciona suporte para orquestração de trabalhos com várias tarefas; confira Agendar e orquestrar fluxos de trabalho e Atualizações da API de trabalhos 2.0 para 2.1. O Databricks recomenda que se chame a versão 2.1, a menos que haja scripts herdados que dependam da versão 2.0 e que não possam 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 de chamada da API REST de Trabalhos 2.1
Para configurar e usar a CLI de trabalhos do Databricks (e a CLI de execuções de trabalhos) 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.
Realize 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 da CLI (e da CLI de execuções de trabalhos) chamarão a API REST de Trabalhos 2.1 por padrão. - Isso adiciona a configuração
jobs-api-version = 2.1
ao arquivo~/.databrickscfg
no Unix, Linux ou macOS, ou%USERPROFILE%\.databrickscfg
no Windows. Todos os subcomandos da CLI (e da CLI de execuções de trabalhos) chamarão a API REST de Trabalhos 2.1 por padrão. - Acrescente 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 somente para essa chamada.
Se você não tiver adotado nenhuma das ações anteriores, a CLI de trabalhos (e a CLI de execuções de trabalhos) chamarão a API REST de Trabalhos 2.0 por padrão.
- Execute o comando
Requisitos de chamada da API REST de Trabalhos 2.0
Para configurar e usar a CLI de trabalhos do Databricks (e a CLI de execuções de trabalhos) para chamar a API REST de Trabalhos 2.0, execute 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, em seguida, sega 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 da CLI de trabalhos (e da CLI de execuções de trabalhos) chamarão a API REST de Trabalhos 2.0 por padrão. - Isso adiciona a configuração
jobs-api-version = 2.0
ao arquivo~/.databrickscfg
no Unix, Linux ou macOS, ou%USERPROFILE%\.databrickscfg
no Windows. Todos os subcomandos da CLI de trabalhos (e da CLI de execuções de trabalhos) chamarão a API REST de Trabalhos 2.0 por padrão. - Acrescente 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 somente para essa chamada.
- Execute o comando
Se você não tiver adotado nenhuma das ações anteriores, a CLI de trabalhos (e a CLI de execuções de trabalhos) chamarão 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 ver a documentação de uso, execute databricks jobs create --help
.
Uso geral
databricks jobs create --json-file create-job.json
Notas de uso e exemplo de solicitação da CLI de Trabalhos 2.1
Consulte Criar em Atualizações da API de Trabalhos 2.0 para 2.1.
Exemplo de carga de solicitação e resposta da CLI de Trabalhos 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 }
Dica
Para copiar um trabalho, execute o comando create
e transmita 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. Ele requer o utilitário jq.
SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)
databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }
Excluir um trabalho
Para exibir a documentação de uso, execute databricks jobs delete --help
.
databricks job delete --job-id 246
Se obtiver sucesso, nenhuma saída será exibida.
Dica
Para excluir vários trabalhos com a mesma configuração, obter a lista de IDs de trabalhos correspondente a essa configuração e execute o comando delete
para cada ID de trabalho correspondente. Este exemplo exclui todos os trabalhos com o nome do trabalho Untitled
. Ele 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
.
Uso geral
databricks jobs get --job-id 246
Notas de uso e exemplo de resposta da CLI de Trabalhos 2.1
Consulte Obter em Atualizações da API de Trabalhos 2.0 a 2.1.
Exemplo de resposta da CLI de Trabalhos 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"
}
Listar informações sobre trabalhos disponíveis
Para exibir a documentação de uso, execute databricks jobs list --help
.
Uso geral
databricks jobs list
Notas de uso e exemplo de resposta da CLI de Trabalhos 2.1
Consulte Lista em Atualizações da API de Trabalhos 2.0 a 2.1.
Exemplo de resposta da CLI de Trabalhos 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"
},
...
]
}
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 opção --all
. Para usar a opção --all
, 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 argumentos --limit
e --offset
. Por padrão, a lista de trabalhos é retornada como uma tabela que contém a ID do trabalho e o nome do trabalho. Opcionalmente, para retornar um documento JSON que contém informações de trabalho, use o argumento --output JSON
.
Para usar os argumentos --limit
e --offset
, você deve definir a versão da API como 2.1.
Ao usar --output JSON
, a lista é retornada em ordem decrescente por data de criação de trabalho. Ao usar --output TABLE
, a lista é retornada em ordem decrescente por data de criação de trabalho e, em seguida, classificada em ordem alfabética por nome de trabalho.
O exemplo a seguir percorre 10 trabalhos por vez da lista de trabalhos e retorna 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
.
Uso geral
databricks jobs reset --job-id 246 --json-file reset-job.json
Notas de uso e exemplo de solicitação da CLI de Trabalhos 2.1
Veja Atualizar e Redefinir em Atualização da API de Trabalhos 2.0 to 2.1.
Exemplo de solicitação da CLI de Trabalhos 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"
]
}
}
Se obtiver sucesso, nenhuma saída será exibida.
Executar um trabalho
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
}