Partilhar via


Executa 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 o trabalho do Databricks executa subcomandos da CLI anexando-os e databricks runs os subcomandos da CLI dos trabalhos do Databricks anexando-os ao databricks jobs. Para subcomandos da CLI de trabalhos do Databricks, consulte a CLI de trabalhos (legado). Juntos, esses subcomandos chamam a API de Trabalhos e a API de Trabalhos 2.0.

Importante

O trabalho Databricks executa CLI suporta chamadas para duas versões da API REST de trabalhos do Databricks: versões 2.1 e 2.0. (A funcionalidade de execução de trabalho faz parte da API REST de trabalhos.) 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 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.

Nota

Se você receber um erro de nível 500 ao fazer solicitações de CLI de execução de trabalho, o Databricks recomenda repetir as solicitações por até 10 minutos (com um intervalo mínimo de 30 segundos entre as tentativas).

Requisitos para chamar a API REST de trabalhos 2.1

Para configurar a CLI (e a CLI de trabalhos) do Databricks 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 CLI (e CLI de trabalhos) 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 CLI (e CLI de trabalhos) chamarão a API REST de trabalhos 2.1 por padrão.
    • Anexe a opção --version=2.1 (por exemplo, databricks runs list --version=2.1) para instruir a CLI de execução do trabalho a chamar a API REST de Trabalhos 2.1 somente para essa chamada.

    Se você não executar nenhuma das ações anteriores, o trabalho executa a CLI (e a CLI de trabalhos) chamará a API REST de Trabalhos 2.0 por padrão.

Requisitos para chamar a API REST de trabalhos 2.0

Para configurar a CLI (e a CLI de trabalhos) do Databricks 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 0.16.0 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 CLI (e CLI de trabalhos) 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 CLI (e CLI de trabalhos) chamarão a API REST de Trabalhos 2.0 por padrão.
    • Anexe a opção --version=2.1 (por exemplo, databricks runs list --version=2.0) para instruir a CLI de execução do trabalho a chamar a API REST de Trabalhos 2.0 somente para essa chamada.

Se você não executar nenhuma das ações anteriores, o trabalho executa a CLI (e a CLI de trabalhos) chamará a API REST de Trabalhos 2.0 por padrão.

Subcomandos e uso geral

databricks runs --help
Usage: databricks runs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs runs.

Options:
  -v, --version   [VERSION]
  --debug         Debug mode. Shows full stack trace on error.
  --profile TEXT  CLI connection profile to use. The default profile is
                  "DEFAULT".

  -h, --help      Show this message and exit.

Commands:
  cancel      Cancels the specified run.
  get         Gets the metadata about a run in JSON form.
  get-output  Gets the output of a run.
  list        Lists job runs.
  submit      Submits a one-time run.

Cancelar uma execução

Para exibir a documentação de uso, execute databricks runs cancel --help.

databricks runs cancel --run-id 119
{}

Obter informações sobre uma corrida

Para exibir a documentação de uso, execute databricks runs get --help.

Utilização geral

databricks runs get --run-id 2785782

Notas de uso e exemplo de resposta da CLI 2.1 de trabalhos

Consulte Execuções em Atualização da API de trabalhos 2.0 para 2.1.

Exemplo de resposta da CLI 2.0 de trabalhos

{
  "job_id": 1269263,
  "run_id": 2785782,
  "number_in_job": 1111,
  "original_attempt_run_id": 2785782,
  "state": {
    "life_cycle_state": "TERMINATED",
    "result_state": "SUCCESS",
    "state_message": ""
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
    }
  },
  "cluster_spec": {
    "new_cluster": {
      "spark_version": "8.1.x-scala2.12",
      "node_type_id": "Standard_F16s",
      "enable_elastic_disk": true,
      "azure_attributes": {
        "availability": "ON_DEMAND_AZURE"
      },
      "num_workers": 8
    }
  },
  "cluster_instance": {
    "cluster_id": "1234-567890-abcd123",
    "spark_context_id": "1234567890123456789"
  },
  "start_time": 1620947196985,
  "setup_duration": 36000,
  "execution_duration": 119000,
  "cleanup_duration": 3000,
  "end_time": 1620947355499,
  "trigger": "ONE_TIME",
  "creator_user_name": "someone@example.com",
  "run_name": "my-notebook-run",
  "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
  "run_type": "JOB_RUN",
  "attempt_number": 0
}

Obter a saída de uma execução

Para exibir a documentação de uso, execute databricks runs get-output --help.

Nota

Quando a notebook_task retorna um valor de uma chamada para dbutils.notebook.exit()o , o Databricks limita o valor retornado aos primeiros 5 MB de dados. Para retornar um resultado maior, você pode armazenar os resultados do trabalho em um serviço de armazenamento em nuvem.

Utilização geral

databricks runs get-output --run-id 2785782

Notas de uso da CLI 2.1 de trabalhos

Consulte Execuções obter saída em Atualização da API de trabalhos 2.0 para 2.1.

Exemplo de resposta da CLI 2.0 de trabalhos

{
  "metadata": {
    "job_id": 1269263,
    "run_id": 2785782,
    "number_in_job": 1111,
    "original_attempt_run_id": 2785782,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
      }
    },
    "cluster_spec": {
      "new_cluster": {
        "spark_version": "8.1.x-scala2.12",
        "node_type_id": "Standard_F16s",
        "enable_elastic_disk": true,
        "azure_attributes": {
          "availability": "ON_DEMAND_AZURE"
        },
        "num_workers": 8
      }
    },
    "cluster_instance": {
      "cluster_id": "1234-567890-abcd123",
      "spark_context_id": "1234567890123456789"
    },
    "start_time": 1620947196985,
    "setup_duration": 36000,
    "execution_duration": 119000,
    "cleanup_duration": 3000,
    "end_time": 1620947355499,
    "trigger": "ONE_TIME",
    "creator_user_name": "someone@example.com",
    "run_name": "my-notebook-run",
    "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
    "run_type": "JOB_RUN",
    "attempt_number": 0
  },
  "notebook_output": {}
}

Obter informações sobre todas as execuções

Para exibir a documentação de uso, execute databricks runs list --help.

Utilização geral

databricks runs list --output JSON

Notas de uso e exemplo de resposta da CLI 2.1 de trabalhos

Consulte Lista de execuções em Atualizando da API de trabalhos 2.0 para 2.1.

Exemplo de resposta da CLI 2.0 de trabalhos

{
  "runs": [
    {
      "job_id": 1269263,
      "run_id": 2785782,
      "number_in_job": 1111,
      "original_attempt_run_id": 2785782,
      "state": {
         "life_cycle_state": "TERMINATED",
         "result_state": "SUCCESS",
         "state_message": ""
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
        }
      },
      "cluster_spec": {
        "new_cluster": {
          "spark_version": "8.1.x-scala2.12",
          "node_type_id": "Standard_F16s",
          "enable_elastic_disk": true,
          "azure_attributes": {
            "availability": "ON_DEMAND_AZURE"
          },
          "num_workers": 8
        }
      },
      "cluster_instance": {
        "cluster_id": "1234-567890-abcd123",
        "spark_context_id": "1234567890123456789"
      },
      "start_time": 1620947196985,
      "setup_duration": 36000,
      "execution_duration": 119000,
      "cleanup_duration": 3000,
      "end_time": 1620947355499,
      "trigger": "ONE_TIME",
      "creator_user_name": "someone@example.com",
      "run_name": "my-notebook-run",
      "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
      "run_type": "JOB_RUN",
      "attempt_number": 0
    },
    ...
  ],
  "has_more": false
}

Se has_more retornar true, informações sobre execuções adicionais estarão disponíveis. Use a --offset opção para retornar informações sobre execuções relativas à execução mais recente. Por exemplo, para retornar informações a partir da décima execução mais recente, especifique --offset 10.

Use a opção para retornar informações sobre um número fixo --limit de execuções. Por exemplo, para retornar informações para até as próximas 5 execuções, especifique --limit 5. Você pode especificar até 1000 execuções. Se não for especificado, o padrão será 20.

Enviar uma execução única

Para exibir a documentação de uso, execute databricks runs submit --help.

Utilização geral

databricks runs submit --json-file submit-run.json

Trabalhos REST API 2.1 notas de uso e exemplo de solicitação

Consulte Executar envio em Atualização da API de trabalhos 2.0 para 2.1.

Exemplo de solicitação e resposta da API REST de trabalhos 2.0

submit-run.json:

{
  "run_name": "my-spark-run",
  "new_cluster": {
    "spark_version": "8.1.x-scala2.12",
    "node_type_id": "Standard_F16s",
    "enable_elastic_disk": true,
    "azure_attributes": {
      "availability": "ON_DEMAND_AZURE"
    },
    "num_workers": 8
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}
{
  "run_id": 123
}