Partilhar via


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:

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

  2. Execute um dos seguintes procedimentos:

    • Execute o 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 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.

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

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 JSONo , a lista é retornada em ordem decrescente por data de criação do trabalho. Ao usar --output TABLEo , 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
}