Jobs CLI (legado)
Essa documentação foi descontinuada e pode não estar atualizada.
Esta informação se aplica ao legado Databricks CLI versões 0.18 e abaixo. Databricks recomenda que o senhor use a versão mais recente do Databricks CLI 0.205 ou o acima. Consulte O que é a CLI do Databricks? Para encontrar sua versão do site Databricks CLI, execute databricks -v
.
Para migrar de Databricks CLI versão 0.18 ou abaixo para Databricks CLI versão 0.205 ou acima, consulte Databricks CLI migration.
O senhor executa Databricks subcomandos do trabalho CLI anexando-os a databricks jobs
e Databricks subcomandos do trabalho CLI anexando-os a databricks runs
. Para os subcomandos do Databricks Job execution CLI, consulte o CLI (legacy). Juntos, esses subcomandos chamam a Jobs API e a Jobs API 2.0.
O Databricks Job CLI suporta chamadas para duas versões do Databricks Jobs REST API: versões 2.1 e 2.0. A versão 2.1 adiciona suporte à orquestração de trabalhos com várias tarefas; consulte a orquestração usando Databricks Jobs e a atualização de trabalhos API 2.0 para 2.1. A Databricks recomenda que o senhor chame a versão 2.1, a menos que tenha scripts antigos 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 se aplicam igualmente às versões 2.1 e 2.0.
Requisitos para chamar a API REST do Jobs 2.1
Para configurar e usar o Databricks Job CLI (e Job execução CLI) para chamar os Jobs REST API 2.1, faça o seguinte:
-
Atualize o site CLI para a versão 0.16.0 ou superior.
-
Siga um destes procedimentos:
- execução do 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 do Job CLI (e Job execução CLI) chamarão os Jobs REST API 2.1 por default. - 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 do Job CLI (e Job execução CLI) chamarão os Jobs REST API 2.1 por default. - Acrescente a opção
--version=2.1
(por exemplo,databricks jobs list --version=2.1
) para instruir o Job CLI a chamar o Jobs REST API 2.1 somente para essa chamada.
Se o senhor não tomar nenhuma das medidas anteriores, o Job CLI (e a execução do Job CLI) chamará os Jobs REST API 2.0 por default.
- execução do comando
Requisitos para chamar a API REST do Jobs 2.0
Para configurar e usar o Databricks Job CLI (e Job execução CLI) para chamar os Jobs REST API 2.0, siga um destes procedimentos:
- Use uma versão do site Databricks CLI abaixo 0.16.0, ou
- Atualize o site CLI para a versão X.Y.Z ou acima e, em seguida, execute um dos seguintes procedimentos:
- execução do 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 do Job CLI (e Job execução CLI) chamarão os Jobs REST API 2.0 por default. - 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 do Job CLI (e Job execução CLI) chamarão os Jobs REST API 2.0 por default. - Acrescente a opção
--version=2.1
(por exemplo,databricks jobs list --version=2.0
) para instruir o Job CLI a chamar o Jobs REST API 2.0 somente para essa chamada.
- execução do comando
Se o senhor não tomar nenhuma das medidas anteriores, o Job CLI (e a execução do Job CLI) chamará os Jobs REST API 2.0 por default.
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
.
Uso geral
databricks jobs create --json-file create-job.json
Notas de uso e exemplo de solicitação do Jobs CLI 2.1
Consulte Criar em Atualização da API de Jobs 2.0 para 2.1.
Exemplo de carga útil e resposta de solicitação de Jobs CLI 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 }
Para copiar um trabalho, execute o comando create
e passe um objeto JSON com as configurações do trabalho a ser copiado. Este exemplo copia as configurações do Job com o ID 246
em um novo Job. Ele requer os utilitários 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 for bem-sucedido, nenhuma saída será exibida.
Para excluir vários trabalhos com a mesma configuração, obtenha a lista de IDs de trabalhos que correspondem a essa configuração e, em seguida, execute o comando delete
para cada ID de trabalho correspondente. Este exemplo exclui todos os trabalhos com o nome de trabalho Untitled
. Ele requer os utilitários 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 do Jobs CLI 2.1
Consulte Obter em Atualização da API de trabalhos 2.0 para 2.1.
Exemplo de resposta do Jobs CLI 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 o trabalho disponível
Para exibir a documentação de uso, execute databricks jobs list --help
.
Uso geral
databricks jobs list
Notas de uso e exemplo de resposta do Jobs CLI 2.1
Consulte a lista em Atualização da API de trabalhos 2.0 para 2.1.
Exemplo de resposta do Jobs CLI 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 emAPI 2.1)
Para instruir o CLI a retornar todos os trabalhos fazendo chamadas sequenciais para o API, use a opção --all
. Para usar a opção --all
, o senhor deve definir a versão da API como 2.1.
databricks jobs list --all
Página da lista de trabalhos (somenteAPI 2.1)
Para retornar uma lista de trabalhos paginados, use os argumentos --limit
e --offset
. Em default, a lista de trabalhos é retornada como uma tabela que contém o ID e o nome do trabalho. Para retornar opcionalmente um documento JSON contendo informações sobre o trabalho, use o argumento --output JSON
.
Para usar os argumentos --limit
e --offset
, o senhor 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 do trabalho. Ao usar --output TABLE
, a lista é retornada em ordem decrescente pela data de criação do trabalho e, em seguida, classificada em ordem alfabética pelo nome do trabalho.
O exemplo a seguir percorre a lista de trabalhos 10 trabalhos por vez 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 do Jobs CLI 2.1
Consulte Atualizar e Reset em Atualização do Jobs API 2.0 para 2.1.
Exemplo de solicitação de Jobs CLI 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 for bem-sucedido, nenhuma saída será exibida.
execução de 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
}