Pular para o conteúdo principal

execução 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 de trabalho CLI anexando-os a databricks runs e Databricks Subcomandos de trabalho CLI anexando-os a databricks jobs. Para conhecer os subcomandos do Databricks Job CLI, consulte Jobs CLI (legado). Juntos, esses subcomandos chamam a Jobs API e a Jobs API 2.0.

important

O Databricks Job exec CLI suporta chamadas para duas versões do Databricks Jobs REST API: versões 2.1 e 2.0. ( A funcionalidade de execução doJob faz parte do Jobs REST API.) A versão 2.1 adiciona suporte à orquestração do Job com várias tarefas; consulte orquestração usando Databricks Jobs e Atualizando do Jobs 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 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.

nota

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

Requisitos para chamar a API REST do Jobs 2.1

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

    Se o senhor não executar nenhuma das ações anteriores, o Job CLI (e o Job CLI) chamará os Jobs REST API 2.0 por default.

Requisitos para chamar a API REST do Jobs 2.0

Para configurar o Databricks Job execution CLI (e o Job CLI) para chamar o 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 0.16.0 ou superior 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 do Job 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 do Job CLI) chamarão os Jobs REST API 2.0 por default.
    • Acrescente a opção --version=2.1 (por exemplo, databricks runs list --version=2.0) para instruir a execução do trabalho CLI a chamar os trabalhos REST API 2.0 somente para essa chamada.

Se o senhor não executar nenhuma das ações anteriores, o Job CLI (e o Job CLI) chamará os Jobs REST API 2.0 por default.

Subcomandos e uso geral

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

Bash
databricks runs cancel --run-id 119
Console
{}

Obter informações sobre a execução

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

Uso geral

Bash
databricks runs get --run-id 119

Notas de uso e exemplo de resposta do Jobs CLI 2.1

Veja a execução get em Atualização do Jobs API 2.0 para 2.1.

Exemplo de resposta do Jobs CLI 2.0

Console
{
"job_id": 239,
"run_id": 119,
"number_in_job": 1,
"original_attempt_run_id": 119,
"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",
"aws_attributes": {
"zone_id": "us-west-2c",
"availability": "SPOT_WITH_FALLBACK"
},
"node_type_id": "m5d.large",
"enable_elastic_disk": false,
"num_workers": 1
}
},
"cluster_instance": {
"cluster_id": "1234-567890-abcd123",
"spark_context_id": "1234567890123456789"
},
"start_time": 1618510327335,
"setup_duration": 191000,
"execution_duration": 41000,
"cleanup_duration": 2000,
"end_time": 1618510561615,
"trigger": "ONE_TIME",
"creator_user_name": "someone@example.com",
"run_name": "my-notebook-run",
"run_page_url": "https://dbc-a1b2345c-d6e7.cloud.databricks.com/?o=1234567890123456#job/239/run/1",
"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 um notebook_task retorna um valor de uma chamada para dbutils.notebook.exit(), o Databricks limita o valor retornado aos primeiros 5 MB de dados. Para retornar um resultado maior, o senhor pode armazenar os resultados do trabalho em um serviço de armazenamento em nuvem.

Uso geral

Bash
databricks runs get-output --run-id 119

Notas de uso do Jobs CLI 2.1

Veja a execução get output em Updating from Jobs API 2.0 to 2.1.

Exemplo de resposta do Jobs CLI 2.0

Console
{
"metadata": {
"job_id": 239,
"run_id": 119,
"number_in_job": 1,
"original_attempt_run_id": 119,
"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",
"aws_attributes": {
"zone_id": "us-west-2c",
"availability": "SPOT_WITH_FALLBACK"
},
"node_type_id": "m5d.large",
"enable_elastic_disk": false,
"num_workers": 1
}
},
"cluster_instance": {
"cluster_id": "1234-567890-abcd123",
"spark_context_id": "1234567890123456789"
},
"start_time": 1618510327335,
"setup_duration": 191000,
"execution_duration": 41000,
"cleanup_duration": 2000,
"end_time": 1618510561615,
"trigger": "ONE_TIME",
"creator_user_name": "someone@example.com",
"run_name": "my-notebook-run",
"run_page_url": "https://dbc-a1b2345c-d6e7.cloud.databricks.com/?o=1234567890123456#job/239/run/1",
"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.

Uso geral

Bash
databricks runs list --output JSON

Notas de uso e exemplo de resposta do Jobs CLI 2.1

Veja a lista de execução em Atualizando o Jobs API 2.0 para 2.1.

Exemplo de resposta do Jobs CLI 2.0

Console
{
"runs": [
{
"job_id": 239,
"run_id": 119,
"number_in_job": 1,
"original_attempt_run_id": 119,
"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",
"aws_attributes": {
"zone_id": "us-west-2c",
"availability": "SPOT_WITH_FALLBACK"
},
"node_type_id": "m5d.large",
"enable_elastic_disk": false,
"num_workers": 1
}
},
"cluster_instance": {
"cluster_id": "1234-567890-abcd123",
"spark_context_id": "1234567890123456789"
},
"start_time": 1618510327335,
"setup_duration": 191000,
"execution_duration": 41000,
"cleanup_duration": 2000,
"end_time": 1618510561615,
"trigger": "ONE_TIME",
"creator_user_name": "someone@example.com",
"run_name": "my-notebook-run",
"run_page_url": "https://dbc-a1b2345c-d6e7.cloud.databricks.com/?o=1234567890123456#job/239/run/1",
"run_type": "JOB_RUN",
"attempt_number": 0
},
...
],
"has_more": false
}

Se has_more retornar true, as informações sobre a execução adicional estarão disponíveis. Use a opção --offset para retornar informações sobre a execução em relação à 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 --limit para retornar informações sobre um número fixo de execuções. Por exemplo, para retornar informações para até as próximas 5 execuções, especifique --limit 5. O senhor pode especificar até 1000 execuções. Se não for especificado, o endereço default é 20.

Enviar uma execução única

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

Uso geral

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

Notas de uso e exemplo de solicitação da API REST do Jobs 2.1

Veja execução submit em Atualizando de Jobs API 2.0 para 2.1.

Exemplo de solicitação e resposta de Jobs REST API 2.0

submit-run.json:

JSON
{
"run_name": "my-spark-run",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "r3.xlarge",
"aws_attributes": {
"availability": "ON_DEMAND"
},
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Console
{
"run_id": 123
}