Compartir a través de


CLI (heredada) en ejecución

Importante

Esta documentación se ha retirado y es posible que no se actualice.

Esta información se aplica a las versiones heredadas de la CLI de Databricks 0.18 y versiones posteriores. En su lugar, Databricks recomienda usar la versión más reciente 0.205 o posterior de la CLI de Databricks. Consulte la CLI de Databricks. Para encontrar su versión de la CLI de Databricks, ejecute databricks -v.

Para migrar de la versión 0.18 o inferior a la versión 0.205 o superior de la CLI de Databricks, vea Migración de la CLI de Databricks.

Para ejecutar los subcomandos de la CLI de ejecuciones de trabajos en Databricks, añádalos a databricks runs, y para ejecutar los subcomandos de la CLI de trabajos en Databricks, añádalos a databricks jobs. Para los subcomandos de la CLI de trabajos de Databricks, consulte la CLI de trabajos (heredada). Juntos, estos subcomandos llaman a Jobs API 2.0 y Jobs API.

Importante

La CLI de ejecuciones de trabajos de Databricks admite llamadas a dos versiones de la API REST Jobs de Databricks: las versiones 2.1 y 2.0. (La funcionalidad de ejecuciones de trabajos forma parte de la API REST de trabajos). La versión 2.1 añade soporte para la orquestación de trabajos con múltiples tareas; consulte Trabajos de Lakeflow y Actualización de Jobs API 2.0 a 2.1. Databricks recomienda llamar a la versión 2.1, a menos que tenga scripts heredados que dependan de la versión 2.0 y no se puedan migrar.

A menos que se especifique lo contrario, los comportamientos de programación que se describen en este artículo se aplican igualmente a las versiones 2.1 y 2.0.

Nota:

Si recibe un error de código 500 al realizar solicitudes de ejecuciones de trabajos a través de la CLI, Databricks recomienda reintentar las solicitudes durante hasta 10 minutos (con un intervalo mínimo de 30 segundos entre reintentos).

Requisitos para llamar a la API REST de Empleos 2.1

Para configurar la CLI de ejecuciones de trabajos de Databricks (y la CLI de trabajos) para llamar a la API REST Jobs 2.1, haga lo siguiente:

  1. Actualice la CLI a la versión 0.16.0 o posterior.

  2. Realice una de las siguientes acciones:

    • Ejecute el comando databricks jobs configure --version=2.1. Esto agrega la configuración jobs-api-version = 2.1 al archivo ~/.databrickscfg en Unix, Linux o macOS, o %USERPROFILE%\.databrickscfg en Windows. Todos los subcomandos de la CLI de ejecuciones de trabajos (y la CLI de trabajos) llamarán a la API REST Jobs 2.1 de forma predeterminada.
    • Agregue manualmente la configuración jobs-api-version = 2.1 al archivo ~/.databrickscfg en Unix, Linux o macOS o %USERPROFILE%\.databrickscfg en Windows. Todos los subcomandos de la CLI de ejecuciones de trabajos (y la CLI de trabajos) llamarán a la API REST Jobs 2.1 de forma predeterminada.
    • Anexe la opción --version=2.1 (por ejemplo, databricks runs list --version=2.1) para indicar a la CLI de ejecuciones de trabajos que llame a la API REST Jobs 2.1 solo para esa llamada.

    Si no realiza ninguna de las acciones anteriores, la CLI de ejecuciones de trabajos (y la CLI de trabajos) llamará a la API REST Jobs 2.0 de forma predeterminada.

Requisitos para llamar a la Jobs API REST 2.0

Para configurar la CLI de ejecuciones de trabajos de Databricks (y la CLI de trabajos) para llamar a la API REST Jobs 2.0, realice una de las siguientes acciones:

  • Use una versión de la CLI de Databricks inferior a 0.16.0, o
  • Actualice la CLI a la versión 0.16.0 o posterior y, luego, haga lo siguiente:
    • Ejecute el comando databricks jobs configure --version=2.0. Esto agrega la configuración jobs-api-version = 2.0 al archivo ~/.databrickscfg en Unix, Linux o macOS, o %USERPROFILE%\.databrickscfg en Windows. Todos los subcomandos de la CLI de ejecuciones de trabajos (y la CLI de trabajos) llamarán a la API REST Jobs 2.0 de forma predeterminada.
    • Agregue manualmente la configuración jobs-api-version = 2.0 al archivo ~/.databrickscfg en Unix, Linux o macOS o %USERPROFILE%\.databrickscfg en Windows. Todos los subcomandos de la CLI de ejecuciones de trabajos (y la CLI de trabajos) llamarán a la API REST Jobs versión 2.0 de forma predeterminada.
    • Anexe la opción --version=2.1 (por ejemplo, databricks runs list --version=2.0) para indicar a la CLI de ejecuciones de tareas que utilice la API REST de Jobs 2.0 únicamente para esa llamada.

Si no realiza ninguna de las acciones anteriores, la CLI de ejecución de trabajos (y la CLI de trabajos) llamará a la API REST de Trabajos 2.0 de forma predeterminada.

Subcomandos y uso general

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.

Cancelación de una ejecución

Para mostrar la documentación de uso, ejecute databricks runs cancel --help.

databricks runs cancel --run-id 119
{}

Obtención de información sobre una ejecución

Para mostrar la documentación de uso, ejecute databricks runs get --help.

Uso general

databricks runs get --run-id 2785782

Notas de uso y ejemplo de respuesta de Jobs CLI 2.1

Consultar ejecuciones en Actualización de Jobs API 2.0 a 2.1.

Ejemplo de respuesta de la CLI de Jobs 2.0

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

Obtención de la salida de una ejecución

Para mostrar la documentación de uso, ejecute databricks runs get-output --help.

Nota:

Cuando notebook_task devuelve un valor de una llamada dbutils.notebook.exit(), Databricks limita el valor devuelto a los primeros 5 MB de datos. Para devolver un resultado mayor, puede almacenar los resultados del trabajo en un servicio de almacenamiento en la nube.

Uso general

databricks runs get-output --run-id 2785782

Notas de uso de la CLI de Jobs 2.1

Consulte ejecuciones obtener salida en Actualización de la API de Tareas 2.0 a 2.1.

Ejemplo de respuesta de la CLI de Jobs 2.0

{
  "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": {}
}

Obtenga información sobre todas las ejecuciones

Para mostrar la documentación de uso, ejecute databricks runs list --help.

Uso general

databricks runs list --output JSON

Notas de uso y ejemplo de respuesta de Jobs CLI 2.1

Consulte lista de ejecuciones en Actualización de Jobs API 2.0 a 2.1.

Ejemplo de respuesta de la CLI de Jobs 2.0

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

Si has_more devuelve true, está disponible información sobre ejecuciones adicionales. Use la opción --offset para devolver información sobre las corridas en relación con la corrida más reciente. Por ejemplo, para devolver información a partir de la décima ejecución más reciente, especifique --offset 10.

Use la opción --limit para devolver información sobre un número fijo de ejecuciones. Por ejemplo, para devolver información hasta las 5 ejecuciones siguientes, especifique --limit 5. Puede especificar hasta 1000 ejecuciones. Si no se especifica, el valor predeterminado es 20.

Enviar una única ejecución puntual

Para mostrar la documentación de uso, ejecute databricks runs submit --help.

Uso general

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

Ejemplo de solicitud y notas de uso de la API REST Jobs 2.1

Ver Ejecuciones de envío en Actualización de Jobs API 2.0 a 2.1.

Ejemplo de solicitud y respuesta de la API REST Jobs 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
}