Pular para o conteúdo principal

Jobs CLI (legado)

important

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.

important

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:

  1. Atualize o site CLI para a versão 0.16.0 ou superior.

  2. Siga um destes procedimentos:

    • execução do comando databricks jobs configure --version=2.1. 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 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.

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çã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.
    • 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.

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

Bash
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

Bash
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:

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"]
}
}
Console
{ "job_id": 246 }
dica

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.

Bash
SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)

databricks jobs create --json "$SETTINGS_JSON"
Console
{ "job_id": 247 }

Excluir um trabalho

Para exibir a documentação de uso, execute databricks jobs delete --help.

Bash
databricks job delete --job-id 246

Se for bem-sucedido, nenhuma saída será exibida.

dica

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.

Bash
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

Bash
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

Console
{
"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

Bash
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

Console
{
"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.

Bash
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:

Bash
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

Bash
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:

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.

Bash
databricks jobs run-now --job-id 246
Console
{
"run_id": 122,
"number_in_job": 1
}