CLI de ejecuciones (heredada)

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 ¿Qué es 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 de Databricks, anéxelos a databricks runs y para ejecutar los subcomandos de la CLI de trabajos de Databricks, anéxelos 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 Jobs). La versión 2.1 agrega soporte técnico para la orquestación de trabajos con varias tareas; consulte Creación y ejecución de trabajos de Azure Databricks y Actualizaciones de Jobs API de 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 nivel 500 al realizar solicitudes de la CLI de ejecuciones de trabajos, 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 2.1 de trabajos

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. La configuración jobs-api-version = 2.1 se agrega al archivo ~/.databrickscfg en Unix, Linux o macOS, o a %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 a %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 API REST 2.0 de trabajos

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

  • 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. La configuración jobs-api-version = 2.0 se agrega al archivo ~/.databrickscfg en Unix, Linux o macOS, o a %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 a %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.
    • Anexe la opción --version=2.1 (por ejemplo, databricks runs list --version=2.0) para indicar a la CLI de ejecuciones de trabajos que llame a la API REST de trabajos 2.0 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.

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 la CLI 2.1 de trabajos

Consultar Obtener 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 obtener salida de ejecuciones en Actualización de Jobs API 2.0 to 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": {}
}

Obtención 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 la CLI 2.1 de trabajos

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 ejecuciones relativas a la ejecución 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.

Envío de una 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

Consulte El envío de ejecuciones en Actualización desde 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
}