Jobs API 2.0

Importante

En este artículo se documenta la versión 2.0 de Jobs API. Sin embargo, Databricks recomienda usar Jobs API 2.1 para clientes y scripts nuevos y existentes. Para obtener más información sobre los cambios de las versiones 2.0 a la 2.1, consulte Actualizar de Jobs API 2.0 a 2.1.

La API Jobs permite crear, editar y eliminar trabajos. El tamaño máximo permitido de una solicitud a la API Jobs es de 10 MB.

Para obtener más información sobre actualizaciones de la API Jobs compatibles con la orquestación de varias tareas con trabajos de Azure Databricks, consulte Actualizar de Jobs API 2.0 a 2.1.

Advertencia

Nunca debe codificar de forma rígida los secretos ni almacenarlos en texto sin formato. Use API de secretos para administrar secretos en la CLI de Databricks. Cómo usar la utilidad Secrets (dbutils.secrets) para hacer referencia a secretos en cuadernos y trabajos.

Nota:

Si recibe un error de nivel 500 al realizar solicitudes de a la API Jobs, Databricks recomienda reintentar las solicitudes durante hasta 10 minutos (con un intervalo mínimo de 30 segundos entre reintentos).

Importante

Para acceder a las API REST de Databricks, es preciso autenticarse.

Crear

Punto de conexión Método HTTP
2.0/jobs/create POST

Cree un trabajo.

Ejemplo

En este ejemplo se crea un trabajo que ejecuta una tarea JAR todas las noches a las 10:15 p. m.

Solicitud

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

{
  "name": "Nightly model training",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • El contenido de create-job.json por los campos adecuados para la solución.

En este ejemplo se usa un archivo .netrc y jq.

Response

{
  "job_id": 1
}

Estructura de la solicitud

Importante

  • Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
  • Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Nombre del campo Tipo Descripción
existing_cluster_id o new_cluster STRING O NewCluster Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad.

Si new_cluster, una descripción de un clúster que se creará para cada ejecución.

Si especifica PipelineTask, este campo puede estar vacío.
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task o run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Si notebook_task, indica que este trabajo debe ejecutar un cuaderno. Es posible que este campo no se especifique junto con spark_jar_task.

Si spark_jar_task, indica que este trabajo debe ejecutar un archivo JAR.

Si spark_python_task, indica que este trabajo debe ejecutar un archivo Python.

Si spark_submit_task, indica que el script de envío de Spark debe iniciar este trabajo.

Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables.

Si run_job_task, indica que este trabajo debe ejecutar otro trabajo.
name STRING Nombre opcional del trabajo. El valor predeterminado es Untitled.
libraries Matriz de Library Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía.
email_notifications JobEmailNotifications Conjunto opcional de direcciones de correo electrónico que se notifican cuando las ejecuciones de este trabajo comienzan y se completan, y cuando se elimina este trabajo. El comportamiento predeterminado es no enviar ningún correo electrónico.
webhook_notifications WebhookNotifications Un conjunto opcional de destinos del sistema que se notificará cuando se inicien, completen o produzcan errores en las ejecuciones de este trabajo.
notification_settings JobNotificationSettings Configuración de notificación opcional que se usa al enviar notificaciones a email_notifications y webhook_notifications para este trabajo.
timeout_seconds INT32 Tiempo de espera opcional que se aplica a cada ejecución de este trabajo. El comportamiento predeterminado es no tener ningún tiempo de espera.
max_retries INT32 Número máximo opcional de veces que se volverá a intentar una ejecución incorrecta. Se considera que una ejecución es incorrecta si se completa con el valor FAILEDresult_state o
INTERNAL_ERROR
life_cycle_state. El valor -1 significa que la ejecución se volverá a intentar indefinidamente, mientras que el valor 0 significa que no se volverá a intentar nunca. El comportamiento predeterminado es no volver a intentar la ejecución nunca.
min_retry_interval_millis INT32 Intervalo mínimo opcional en milisegundos entre el inicio de la ejecución con errores y la ejecución del reintento siguiente. El comportamiento predeterminado es que las ejecuciones incorrectas se vuelvan a intentar de inmediato.
retry_on_timeout BOOL Directiva opcional para especificar si se debe volver a intentar un trabajo tras agotarse el tiempo de espera. El comportamiento predeterminado es no volver a intentarlo tras agotarse el tiempo de espera.
schedule CronSchedule Programación periódica opcional para este trabajo. El comportamiento predeterminado es que el trabajo se ejecute cuando se desencadena al hacer clic en Ejecutar ahora en la interfaz de usuario de Jobs o al enviar una solicitud de API a runNow.
max_concurrent_runs INT32 Número máximo permitido opcional de ejecuciones simultáneas del trabajo.

Establezca este valor si desea poder ejecutar varias ejecuciones del mismo trabajo de manera simultánea. Esto es útil, por ejemplo, si desencadena el trabajo con una programación frecuente y desea permitir que las ejecuciones consecutivas se superpongan entre sí, o bien si desea desencadenar varias ejecuciones que difieren en sus parámetros de entrada.

Esta configuración solo afecta a las nuevas ejecuciones. Por ejemplo, suponga que la simultaneidad del trabajo es 4 y hay 4 ejecuciones activas simultáneas. Si se establece la simultaneidad en 3, no se eliminará ninguna de las ejecuciones activas. Sin embargo, a partir de ese momento, se omitirán las nuevas ejecuciones a menos que haya menos de tres ejecuciones activas.

El valor no puede ser mayor que 1000. Al establecer este valor en 0, se omitirán todas las ejecuciones nuevas. El comportamiento predeterminado es permitir solo una ejecución simultánea.

Estructura de la respuesta

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo que se acaba de crear.

Lista

Punto de conexión Método HTTP
2.0/jobs/list GET

Enumera todos los trabajos.

Ejemplo

Solicitud

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Reemplace <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net.

En este ejemplo se usa un archivo .netrc y jq.

Response

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

Estructura de la respuesta

Nombre del campo Tipo Descripción
jobs Matriz de tipo Job. Lista de trabajos.

Eliminar

Punto de conexión Método HTTP
2.0/jobs/delete POST

Elimine un trabajo y envíe un correo electrónico a las direcciones que se especificaron en JobSettings.email_notifications. No se realizará ninguna acción si el trabajo ya se ha quitado. Después de quitar el trabajo, ni sus detalles ni su historial de ejecución estarán visibles en la interfaz de usuario de Jobs o en la API. Se garantiza que el trabajo se quitará tras finalizar esta solicitud. Sin embargo, las ejecuciones que estaban activas antes de la recepción de esta solicitud pueden seguir estando activas. Estas finalizarán de forma asincrónica.

Ejemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con el identificador del trabajo, como, por ejemplo, 123.

En este ejemplo, se usa un archivo .netrc.

Estructura de la solicitud

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo que se va a eliminar. Este campo es obligatorio.

Get

Punto de conexión Método HTTP
2.0/jobs/get GET

Recupera información acerca de un trabajo sencillo.

Ejemplo

Solicitud

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

O:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con el identificador del trabajo, como, por ejemplo, 123.

En este ejemplo, se usan un archivo .netrc y jq.

Response

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  },
  "created_time": 1457570074236
}

Estructura de la solicitud

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo del que se va a recuperar información. Este campo es obligatorio.

Estructura de la respuesta

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico de este trabajo.
creator_user_name STRING Nombre de usuario del creador. Este campo no se incluirá en la respuesta si se ha eliminado el usuario.
settings JobSettings Configuración para este trabajo y todas sus ejecuciones. Esta configuración se puede actualizar mediante los puntos de conexión Reset o Update.
created_time INT64 Hora a la que se creó este trabajo en milisegundos (milisegundos desde el 1/1/1970 UTC).

Restablecer

Punto de conexión Método HTTP
2.0/jobs/reset POST

Sobrescriba toda la configuración de un trabajo específico. Use el punto de conexión Update para actualizar parcialmente la configuración del trabajo.

Ejemplo

Esta solicitud de ejemplo hace que el trabajo 2 sea idéntico al trabajo 1 en el ejemplo create.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

{
  "job_id": 2,
  "new_settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  }
}

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • El contenido de reset-job.json por los campos adecuados para la solución.

En este ejemplo, se usan un archivo .netrc y jq.

Estructura de la solicitud

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo que se va a restablecer. Este campo es obligatorio.
new_settings JobSettings Nueva configuración del trabajo. Esta configuración reemplaza completamente la configuración anterior.

Los cambios que se realizan en el campo JobSettings.timeout_seconds se aplican a las ejecuciones activas. Los cambios que se realizan en otros campos solo se aplican a ejecuciones futuras.

Actualizar

Punto de conexión Método HTTP
2.0/jobs/update POST

Agregue, cambie o quite la configuración específica de un trabajo existente. Use el punto de conexión Reset para sobrescribir toda la configuración del trabajo.

Ejemplo

Esta solicitud de ejemplo quita las bibliotecas y agrega la configuración de notificación por correo electrónico al trabajo 1 que se definió en el ejemplo create.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

{
  "job_id": 1,
  "new_settings": {
    "existing_cluster_id": "1201-my-cluster",
    "email_notifications": {
      "on_start": [ "someone@example.com" ],
      "on_success": [],
      "on_failure": []
    }
  },
  "fields_to_remove": ["libraries"]
}

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • El contenido de update-job.json por los campos adecuados para la solución.

En este ejemplo, se usan un archivo .netrc y jq.

Estructura de la solicitud

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo que se va a actualizar. Este campo es obligatorio.
new_settings JobSettings Nueva configuración del trabajo.

Los campos de nivel superior especificados en new_settings, excepto las matrices, se reemplazan por completo. Las matrices se combinan en función de los campos de clave respectivos, como task_key o
Las tanto de job_cluster_key como de las matrices que tengan la misma clave se reemplazan por completo. Excepto para la combinación de matrices, no se admite la actualización parcial de campos anidados.

Los cambios que se realizan en el campo JobSettings.timeout_seconds se aplican a las ejecuciones activas. Los cambios que se realizan en otros campos solo se aplican a ejecuciones futuras.
fields_to_remove Matriz de objetos STRING. Quita los campos de nivel superior de la configuración del trabajo. No se admite la eliminación de campos anidados, excepto las entradas de las matrices tasks y job_clusters. Por ejemplo, el siguiente es un argumento válido para este campo:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

Este campo es opcional.

Ejecutar ahora

Importante

  • Un área de trabajo está limitada a 1000 ejecuciones de tareas simultáneas. Se devuelve una respuesta 429 Too Many Requests cuando se solicita una ejecución que no se puede iniciar inmediatamente.
  • El número de trabajos que puede crear un área de trabajo en una hora está limitado a 10000 (incluye "envío de ejecuciones"). Este límite también afecta a los trabajos creados por los flujos de trabajo de la API REST y del cuaderno.
Punto de conexión Método HTTP
2.0/jobs/run-now POST

Ejecute un trabajo ahora y devuelva la ejecución desencadenada run_id.

Sugerencia

Si invoca Create con Run now, puede usar el punto de conexión Runs submit en su lugar. Esto le permite enviar la carga de trabajo directamente sin tener que crear ningún trabajo.

Ejemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Solicitud de ejemplo para un trabajo de cuaderno:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

Solicitud de ejemplo para un trabajo JAR:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • El contenido de run-job.json por los campos adecuados para la solución.

En este ejemplo, se usan un archivo .netrc y jq.

Estructura de la solicitud

Nombre del campo Tipo Descripción
job_id INT64
jar_params Matriz de objetos STRING. Lista de parámetros para trabajos con tareas JAR, por ejemplo, "jar_params": ["john doe", "35"]. Los parámetros se usarán para invocar la función main de la clase principal especificada en la tarea JAR de Spark. Si no se especifica en run-now, el valor predeterminado será una lista vacía. jar_params no se puede especificar junto con notebook_params. La representación JSON de este campo (es decir, {"jar_params":["john doe","35"]}) no puede superar los 10 000 bytes.
notebook_params Asignación de ParamPair Asignación de claves a valores para trabajos con tarea de cuaderno, como, por ejemplo,
"notebook_params": {"name": "john doe", "age": "35"}. La asignación se pasa al cuaderno y está disponible a través de la función dbutils.widgets.get.

Si no se especifica en run-now, la ejecución desencadenada usa los parámetros base del trabajo.

No puede especificar notebook_params junto con jar_params.

La representación JSON de este campo (es decir,
{"notebook_params":{"name":"john doe","age":"35"}}) no puede superar los 10 000 bytes.
python_params Matriz de objetos STRING. Lista de parámetros para trabajos con tareas Python, por ejemplo, "python_params": ["john doe", "35"]. Los parámetros se pasarán al archivo de Python como parámetros de línea de comandos. Si se especificara en run-now, se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo (es decir, {"python_params":["john doe","35"]}) no puede superar los 10 000 bytes.
spark_submit_params Matriz de objetos STRING. Lista de parámetros para los trabajos con la tarea de envío de Spark, como, por ejemplo,
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Los parámetros se pasarán al script spark-submit como parámetros de línea de comandos. Si se especificara en run-now, se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo no puede superar los 10 000 bytes.
idempotency_token STRING Token opcional para garantizar la idempotencia de las solicitudes de ejecución de trabajos. Si ya existe una ejecución con el token proporcionado, la solicitud no crea ninguna nueva ejecución sino que devuelve el identificador de la ejecución existente en su lugar. Si se elimina una ejecución con el token proporcionado, se devuelve un error.

Si especifica el token de idempotencia, podrá volver a intentar realizar la solicitud hasta que esta se complete correctamente en caso de error. Azure Databricks garantiza que se iniciará exactamente una ejecución con ese token de idempotencia.

Este token debe tener como máximo 64 caracteres.

Para obtener más información, consulte Cómo garantizar la idempotencia de los trabajos.

Estructura de la respuesta

Nombre del campo Tipo Descripción
run_id INT64 Identificador único global de la ejecución recién desencadenada.
number_in_job INT64 Número de secuencia de esta ejecución entre todas las ejecuciones del trabajo.

Envío de ejecuciones

Importante

  • Un área de trabajo está limitada a 1000 ejecuciones de tareas simultáneas. Se devuelve una respuesta 429 Too Many Requests cuando se solicita una ejecución que no se puede iniciar inmediatamente.
  • El número de trabajos que puede crear un área de trabajo en una hora está limitado a 10000 (incluye "envío de ejecuciones"). Este límite también afecta a los trabajos creados por los flujos de trabajo de la API REST y del cuaderno.
Punto de conexión Método HTTP
2.0/jobs/runs/submit POST

Envío de una ejecución puntual. Este punto de conexión permite enviar una carga de trabajo directamente sin crear ningún trabajo. Use la API jobs/runs/get para comprobar el estado de la ejecución después de enviar el trabajo.

Ejemplo

Solicitud

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-job.json:

{
  "run_name": "my spark task",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "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"
  }
}

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • El contenido de submit-job.json por los campos adecuados para la solución.

En este ejemplo se usa un archivo .netrc y jq.

Response

{
  "run_id": 123
}

Estructura de la solicitud

Importante

  • Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
  • Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Nombre del campo Tipo Descripción
existing_cluster_id o new_cluster STRING O NewCluster Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad.

Si new_cluster, una descripción de un clúster que se creará para cada ejecución.

Si especifica PipelineTask, este campo puede estar vacío.
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task o run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Si notebook_task, indica que este trabajo debe ejecutar un cuaderno. Es posible que este campo no se especifique junto con spark_jar_task.

Si spark_jar_task, indica que este trabajo debe ejecutar un archivo JAR.

Si spark_python_task, indica que este trabajo debe ejecutar un archivo Python.

Si spark_submit_task, indica que el script de envío de Spark debe iniciar este trabajo.

Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables.

Si run_job_task, indica que este trabajo debe ejecutar otro trabajo.
run_name STRING Nombre opcional de la ejecución. El valor predeterminado es Untitled.
webhook_notifications WebhookNotifications Un conjunto opcional de destinos del sistema que se notificará cuando se inicien, completen o produzcan errores en las ejecuciones de este trabajo.
notification_settings JobNotificationSettings Configuración de notificación opcional que se usa al enviar notificaciones a cada webhook_notifications para esta ejecución.
libraries Matriz de Library Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía.
timeout_seconds INT32 Tiempo de espera opcional que se aplica a cada ejecución de este trabajo. El comportamiento predeterminado es no tener ningún tiempo de espera.
idempotency_token STRING Token opcional para garantizar la idempotencia de las solicitudes de ejecución de trabajos. Si ya existe una ejecución con el token proporcionado, la solicitud no crea ninguna nueva ejecución sino que devuelve el identificador de la ejecución existente en su lugar. Si se elimina una ejecución con el token proporcionado, se devuelve un error.

Si especifica el token de idempotencia, podrá volver a intentar realizar la solicitud hasta que esta se complete correctamente en caso de error. Azure Databricks garantiza que se iniciará exactamente una ejecución con ese token de idempotencia.

Este token debe tener como máximo 64 caracteres.

Para obtener más información, consulte Cómo garantizar la idempotencia de los trabajos.

Estructura de la respuesta

Nombre del campo Tipo Descripción
run_id INT64 Identificador canónico de la ejecución que se acaba de enviar.

Lista de ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/list GET

Enumera las ejecuciones en orden descendente por hora de inicio.

Nota:

Las ejecuciones se quitan automáticamente después de 60 días. Si desea poder consultarlas más allá de 60 días, debe guardar los resultados de ejecución antiguos antes de que expiren. Para exportar mediante la interfaz de usuario, consulte Exportación de los resultados de la ejecución de trabajos. Para exportar mediante la API Jobs, Exportación de ejecuciones.

Ejemplo

Solicitud

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

O:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con el identificador del trabajo, como, por ejemplo, 123.
  • <true-false> con true o false.
  • <offset> con el valor offset.
  • <limit> con el valor limit.
  • <run-type> con el valor run_type.

En este ejemplo, se usan un archivo .netrc y jq.

Response

{
  "runs": [
    {
      "job_id": 1,
      "run_id": 452,
      "number_in_job": 5,
      "state": {
        "life_cycle_state": "RUNNING",
        "state_message": "Performing action"
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/donald@duck.com/my-notebook"
        }
      },
      "cluster_spec": {
        "existing_cluster_id": "1201-my-cluster"
      },
      "cluster_instance": {
        "cluster_id": "1201-my-cluster",
        "spark_context_id": "1102398-spark-context-id"
      },
      "overriding_parameters": {
        "jar_params": ["param1", "param2"]
      },
      "start_time": 1457570074236,
      "end_time": 1457570075149,
      "setup_duration": 259754,
      "execution_duration": 3589020,
      "cleanup_duration": 31038,
      "run_duration": 3879812,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

Estructura de la solicitud

Nombre del campo Tipo Descripción
active_only o completed_only BOOL o BOOL Si active_only es true, solo se incluyen las ejecuciones activas en los resultados; de lo contrario, se muestran las ejecuciones activas y completadas. Una ejecución activa es una ejecución en PENDING, RUNNING o TERMINATINGRunLifecycleState. Este campo no puede ser true cuando completed_only es true.

Si completed_only es true, solo se incluyen las ejecuciones completadas en los resultados; de lo contrario, se muestran las ejecuciones activas y completadas. Este campo no puede ser true cuando active_only es true.
job_id INT64 Trabajo para el que se muestran las ejecuciones. Si se omite, el servicio Jobs mostrará las ejecuciones de todos los trabajos.
offset INT32 Desplazamiento de la primera ejecución que se debe devolver con respecto a la ejecución más reciente.
limit INT32 Número de ejecuciones que se deben devolver. Este valor debe ser mayor que 0 y menor que 1000. El valor predeterminado es 20. Si una solicitud especifica un límite de 0, el servicio usará en su lugar el límite máximo.
run_type STRING Tipo de ejecuciones que se deben devolver. Para obtener una descripción de los tipos de ejecución, consulte Ejecución.

Estructura de la respuesta

Nombre del campo Tipo Descripción
runs Matriz de Run. Lista de ejecuciones, desde la que se inició más recientemente hasta la más antigua.
has_more BOOL Si es true, hay disponibles ejecuciones adicionales que coinciden con el filtro proporcionado para la lista.

Obtención de ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/get GET

Permite recuperar los metadatos de una ejecución.

Nota:

Las ejecuciones se quitan automáticamente después de 60 días. Si desea poder consultarlas más allá de 60 días, debe guardar los resultados de ejecución antiguos antes de que expiren. Para exportar mediante la interfaz de usuario, consulte Exportación de los resultados de la ejecución de trabajos. Para exportar mediante la API Jobs, Exportación de ejecuciones.

Ejemplo

Solicitud

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

O:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con el identificador de la ejecución, como, por ejemplo, 123.

En este ejemplo, se usan un archivo .netrc y jq.

Response

{
  "job_id": 1,
  "run_id": 452,
  "number_in_job": 5,
  "state": {
    "life_cycle_state": "RUNNING",
    "state_message": "Performing action"
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/my-notebook"
    }
  },
  "cluster_spec": {
    "existing_cluster_id": "1201-my-cluster"
  },
  "cluster_instance": {
    "cluster_id": "1201-my-cluster",
    "spark_context_id": "1102398-spark-context-id"
  },
  "overriding_parameters": {
    "jar_params": ["param1", "param2"]
  },
  "start_time": 1457570074236,
  "end_time": 1457570075149,
  "setup_duration": 259754,
  "execution_duration": 3589020,
  "cleanup_duration": 31038,
  "run_duration": 3879812,
  "trigger": "PERIODIC"
}

Estructura de la solicitud

Nombre del campo Tipo Descripción
run_id INT64 Identificador canónico de la ejecución para la que se deben recuperar los metadatos. Este campo es obligatorio.

Estructura de la respuesta

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo que contiene esta ejecución.
run_id INT64 Identificador canónico de la ejecución. Este identificador es único en todas las ejecuciones de todos los trabajos.
number_in_job INT64 Número de secuencia de esta ejecución entre todas las ejecuciones del trabajo. Este valor comienza en 1.
original_attempt_run_id INT64 Si esta ejecución es un reintento de un intento de ejecución anterior, este campo contendrá el run_id del intento original; de lo contrario, será igual que el run_id.
state RunState Estados del resultado y el ciclo de vida de la ejecución.
schedule CronSchedule Programación cron que desencadenó esta ejecución si la desencadenó el programador periódico.
task JobTask Tarea realizada que realizó la ejecución, si realizó alguna.
cluster_spec ClusterSpec Instantánea de la especificación del clúster del trabajo cuando se creó esta ejecución.
cluster_instance ClusterInstance Clúster que se usó para esta ejecución. Si se especifica que la ejecución use un nuevo clúster, este campo se establecerá una vez que el servicio Jobs haya solicitado un clúster para la ejecución.
overriding_parameters RunParameters Parámetros usados para esta ejecución.
start_time INT64 Hora a la que se inició esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Puede que esta no sea la hora en que se inicia la ejecución de la tarea de trabajo; por ejemplo, si el trabajo está programado para ejecutarse en un nuevo clúster, esta sería la hora en que se emite la llamada de creación del clúster.
end_time INT64 Hora a la que finalizó esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Este campo se establecerá en 0 si el trabajo sigue en ejecución.
setup_duration INT64 Tiempo que se tardó en configurar el clúster en milisegundos. En el caso de ejecuciones que se ejecutan en clústeres nuevos, este es el tiempo de creación del clúster; para las ejecuciones que se ejecutan en clústeres existentes, el tiempo será muy corto. La duración total de la ejecución es la suma de setup_duration,
execution_duration y cleanup_duration. El campo setup_duration se establece en 0 para ejecuciones de trabajos de varias tareas. La duración total de una ejecución de trabajos de varias tareas es el valor del
campo run_duration.
execution_duration INT64 Tiempo en milisegundos que se tardó en ejecutar los comandos en el archivo JAR o en el cuaderno hasta que se completaron, hasta que se produjo un error, hasta que se agotó el tiempo de espera, hasta que se cancelaron o hasta que se produjo un error inesperado. La duración total de la ejecución es la suma de setup_duration, execution_duration y
cleanup_duration. El campo execution_duration se establece en 0 para ejecuciones de trabajos de varias tareas. La duración total de una ejecución de trabajos de varias tareas es el valor del campo run_duration.
cleanup_duration INT64 Tiempo en milisegundos que se tardó en finalizar el clúster y limpiar los artefactos asociados. La duración total de la ejecución es la suma de setup_duration, execution_duration y cleanup_duration. El campo cleanup_duration se establece en 0 para ejecuciones de trabajos de varias tareas. La duración total de una ejecución de trabajos de varias tareas es el valor del campo run_duration.
run_duration INT64 El tiempo en milisegundos que tardó en finalizar la ejecución del trabajo y todas sus reparaciones. Este campo solo se establece para las ejecuciones de trabajos de varias tareas y no para las ejecuciones de tareas. La duración de una ejecución de tarea es la suma de
setup_duration, execution_duration y cleanup_duration.
trigger TriggerType Tipo de desencadenador que desencadenó esta ejecución.
creator_user_name STRING Nombre de usuario del creador. Este campo no se incluirá en la respuesta si se ha eliminado el usuario.
run_page_url STRING Dirección URL de la página de detalles de la ejecución.

Exportación de ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/export GET

Permite exportar y recuperar la tarea de ejecución del trabajo.

Nota:

Solo las ejecuciones de cuadernos se pueden exportar en formato HTML. Se producirá un error si se exportan ejecuciones de otros tipos.

Ejemplo

Solicitud

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

O:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con el identificador de la ejecución, como, por ejemplo, 123.

En este ejemplo, se usan un archivo .netrc y jq.

Response

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

Para extraer el cuaderno HTML de la respuesta JSON, descargue y ejecute este script de Python.

Nota:

El cuerpo del cuaderno del objeto __DATABRICKS_NOTEBOOK_MODEL está codificado.

Estructura de la solicitud

Nombre del campo Tipo Descripción
run_id INT64 Identificador canónico de la ejecución. Este campo es obligatorio.
views_to_export ViewsToExport Indica las vistas que se exportarán (CODE, DASHBOARDS o ALL). El valor predeterminado es CODE.

Estructura de la respuesta

Nombre del campo Tipo Descripción
views Matriz de ViewItem Contenido exportado en formato HTML (uno para cada elemento de visualización).

Cancelación de ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/cancel POST

Cancelar de la ejecución de un trabajo. Como la ejecución se cancela de forma asincrónica, cuando se complete esta solicitud, es posible que la ejecución siga en ejecución. La ejecución finalizará en breve. Si la ejecución ya está en estado terminal life_cycle_state, este método es del tipo no-op.

Este punto de conexión valida que el parámetro run_id sea válido y devuelve para los parámetros no válidos el código de estado HTTP 400.

Ejemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con el identificador de la ejecución, como, por ejemplo, 123.

En este ejemplo, se usa un archivo .netrc.

Estructura de la solicitud

Nombre del campo Tipo Descripción
run_id INT64 Identificador canónico de la ejecución que se va a cancelar. Este campo es obligatorio.

Cancelación de todas las ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/cancel-all POST

Cancele todas las ejecuciones activas de un trabajo. Dado que la ejecución se cancela de forma asincrónica, no impide que se inicien nuevas ejecuciones.

Este punto de conexión valida que el parámetro job_id sea válido y devuelve para los parámetros no válidos el código de estado HTTP 400.

Ejemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> con el identificador del trabajo, como, por ejemplo, 123.

En este ejemplo, se usa un archivo .netrc.

Estructura de la solicitud

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo del que se va a cancelar todas las ejecuciones. Este campo es obligatorio.

Obtención del resultado de las ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/get-output GET

Recupera la salida y los metadatos de una única ejecución de la tarea. Cuando una tarea de cuaderno devuelve un valor a través de la llamada dbutils.notebook.exit(), puede usar este punto de conexión para recuperar dicho valor. Azure Databricks restringe esta API para que devuelva los primeros 5 MB de la salida. Para devolver mayores resultados, puede almacenar los resultados del trabajo en un servicio de almacenamiento en la nube.

Este punto de conexión valida que el parámetro run_id sea válido y devuelve para los parámetros no válidos el código de estado HTTP 400.

Las ejecuciones se quitan automáticamente después de 60 días. Si desea poder consultarlas más allá de 60 días, debe guardar los resultados de ejecución antiguos antes de que expiren. Para exportar mediante la interfaz de usuario, consulte Exportación de los resultados de la ejecución de trabajos. Para exportar mediante la API Jobs, Exportación de ejecuciones.

Ejemplo

Solicitud

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

O:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con el identificador de la ejecución, como, por ejemplo, 123.

En este ejemplo, se usan un archivo .netrc y jq.

Response

{
  "metadata": {
    "job_id": 1,
    "run_id": 452,
    "number_in_job": 5,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/my-notebook"
      }
    },
    "cluster_spec": {
      "existing_cluster_id": "1201-my-cluster"
    },
    "cluster_instance": {
      "cluster_id": "1201-my-cluster",
      "spark_context_id": "1102398-spark-context-id"
    },
    "overriding_parameters": {
      "jar_params": ["param1", "param2"]
    },
    "start_time": 1457570074236,
    "setup_duration": 259754,
    "execution_duration": 3589020,
    "cleanup_duration": 31038,
    "run_duration": 3879812,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

Estructura de la solicitud

Nombre del campo Tipo Descripción
run_id INT64 Identificador canónico de la ejecución. En el caso de un trabajo con varias tareas, esta es el objeto run_id de una ejecución de tareas. Consulte Obtención del resultado de las ejecuciones. Este campo es obligatorio.

Estructura de la respuesta

Nombre del campo Tipo Descripción
notebook_output o error NotebookOutput O STRING Si notebook_output, se obtiene la salida de una tarea de cuaderno, si está disponible. Las tareas de cuaderno que finalizan (ya sea correctamente o con un error) sin llamar a
dbutils.notebook.exit() se consideran que tienen una salida vacía. Este campo se establecerá, pero su valor de resultado estará vacío.

Si se produce un error, se mostrará un mensaje de error para indicar por qué la salida no está disponible. El mensaje no está estructurado y su formato exacto está sujeto a cambios.
metadata Ejecutar Muestra todos los detalles de la ejecución excepto su salida.

Eliminación de las ejecuciones

Punto de conexión Método HTTP
2.0/jobs/runs/delete POST

Elimina una ejecución no activa. Devuelve un error si la ejecución está activa.

Ejemplo

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Sustituya:

  • <databricks-instance> por el nombre de instancia de área de trabajo de Azure Databricks; por ejemplo adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> con el identificador de la ejecución, como, por ejemplo, 123.

En este ejemplo, se usa un archivo .netrc.

Estructura de la solicitud

Nombre del campo Tipo Descripción
run_id INT64 Identificador canónico de la ejecución para la que se deben recuperar los metadatos.

Estructura de datos

En esta sección:

ABFSSStorageInfo

Azure Data Lake Storage información de almacenamiento (ADLS).

Nombre del campo Tipo Descripción
destination STRING Destino del archivo. Ejemplo: abfss://...

AutoScale

Intervalo que define el número mínimo y máximo de trabajos del clúster.

Nombre del campo Tipo Descripción
min_workers INT32 Número mínimo de trabajos a los que el clúster puede reducir verticalmente cuando se infrautiliza. También es el número inicial de trabajados que tendrá el clúster después de la creación.
max_workers INT32 El número máximo de trabajos a los que el clúster se puede escalar verticalmente cuando se sobrecarga. max_workers debe ser estrictamente mayor que min_workers.

AzureAttributes

Atributos establecidos durante la creación del clúster relacionados con Azure.

Nombre del campo Tipo Descripción
first_on_demand INT32 Los primeros nodos first_on_demand del clúster se colocarán en instancias a petición. Este valor debe ser mayor que 0 o, de lo contrario, se produce un error en la validación de la creación del clúster. Si este valor es mayor o igual que el tamaño actual del clúster, todos los nodos se colocarán en instancias a petición. Si este valor es menor que el tamaño actual del clúster, los nodos first_on_demand se colocarán en instancias a petición y el resto se colocará en instancias de disponibilidad. Este valor no afecta al tamaño del clúster y no se puede mutar durante la vigencia de un clúster.
availability AzureAvailability Tipo de disponibilidad utilizado para todos los nodos posteriores más allá de los siguientes first_on_demand.
spot_bid_max_price DOUBLE Precio máximo de la oferta que se usa para las instancias de acceso puntual de Azure. Puede establecerlo en mayor o igual que el precio de acceso puntual actual. También puede establecerlo en -1 (valor predeterminado), que especifica que la instancia no se puede expulsar en función del precio. El precio de la instancia será el precio actual de las instancias de acceso puntual o el precio de una instancia estándar. Puede ver el histórico de precios y las tasas de expulsión en Azure Portal.

AzureAvailability

Comportamiento del tipo de disponibilidad de la instancia de Azure.

Tipo Descripción
SPOT_AZURE Uso de instancias de acceso puntual.
ON_DEMAND_AZURE Use instancias a petición.
SPOT_WITH_FALLBACK_AZURE Es preferible usar instancias de acceso puntual, pero volver a las instancias a petición si no se pueden adquirir instancias de acceso puntual (por ejemplo, si los precios del acceso puntual de Azure son demasiado altos o están fuera de cuota). No se aplica a la disponibilidad del grupo.

ClusterInstance

Identificadores para el clúster y el contexto de Spark que usa una ejecución. Estos dos valores juntos identifican un contexto de ejecución en todo momento.

Nombre del campo Tipo Descripción
cluster_id STRING Identificador canónico del clúster que usó una ejecución. Este campo siempre está disponible para las ejecuciones en clústeres existentes. En el caso de las ejecuciones en clústeres nuevos, estará disponible después de crear el clúster. Este valor se puede usar para ver los registros si navega a /#setting/sparkui/$cluster_id/driver-logs. Los registros seguirán estando disponibles después de completar la ejecución.

La respuesta no incluirá este campo si el identificador aún no está disponible.
spark_context_id STRING Identificador canónico del contexto de Spark que usó una ejecución. Este campo se rellenará una vez que comience la ejecución. Este valor se puede usar para ver la interfaz de usuario de Spark si navega a /#setting/sparkui/$cluster_id/$spark_context_id. La interfaz de usuario de Spark seguirá estando disponible después de completar la ejecución.

La respuesta no incluirá este campo si el identificador aún no está disponible.

ClusterLogConf

Ruta de acceso al registro del clúster.

Nombre del campo Tipo Descripción
dbfs DbfsStorageInfo Ubicación de DBFS del registro de clúster. Se debe proporcionar el destino. Por ejemplo,
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Importante

  • Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
  • Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Nombre del campo Tipo Descripción
existing_cluster_id o new_cluster STRING O NewCluster Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad.

Si new_cluster, una descripción de un clúster que se creará para cada ejecución.

Si especifica PipelineTask, este campo puede estar vacío.
libraries Matriz de Library Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía.

ClusterTag

Definición de etiqueta de clúster.

Tipo Descripción
STRING La clave de la etiqueta. La clave debe:

* Tener entre 1 y 512 caracteres de longitud
* No contiene ninguno de los caracteres <>%*&+?\\/
* No comienza por azure, microsoft o windows
STRING El valor de la etiqueta. La longitud del valor debe ser menor o igual que 256 caracteres UTF-8.

CronSchedule

Nombre del campo Tipo Descripción
quartz_cron_expression STRING Expresión Cron que usa la sintaxis Quartz que describe la programación de un trabajo. Consulte Desencadenador cron para obtener más información. Este campo es obligatorio.
timezone_id STRING Identificador de zona horaria de Java. La programación de un trabajo se resolverá con respecto a esta zona horaria. Consulte Zona horaria de Java para obtener más información. Este campo es obligatorio.
pause_status STRING Indica si esta programación está en pausa o no. El valor puede ser "PAUSED" o "UNPAUSED".

DbfsStorageInfo

Información de almacenamiento de DBFS.

Nombre del campo Tipo Descripción
destination STRING Destino de DBFS. Ejemplo: dbfs:/my/path

FileStorageInfo

Información de almacenamiento de archivos.

Nota:

Este tipo de ubicación solo está disponible para los clústeres configurados mediante Databricks Container Services.

Nombre del campo Tipo Descripción
destination STRING Destino del archivo. Ejemplo: file:/my/file.sh

InitScriptInfo

Ruta de acceso a un script de inicialización.

Para obtener instrucciones sobre el uso de scripts de inicialización con Databricks Container Services, consulte Uso de un script de inicialización.

Nota:

El tipo de almacenamiento de archivos (nombre de campo: file) solo está disponible para clústeres configurados mediante el Servicio de contenedor de Databricks. Consulte FileStorageInfo.

Nombre del campo Tipo Descripción
workspace O
dbfs (en desuso)

OR
abfss
WorkspaceStorageInfo

DbfsStorageInfo (en desuso)

ABFSSStorageInfo
Ubicación del área de trabajo del script de inicio. Se debe proporcionar el destino. Por ejemplo,
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(En desuso) Ubicación DBFS del script de inicio. Se debe proporcionar el destino. Por ejemplo,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Ubicación de Azure Data Lake Storage (ADLS) del script de inicio. Se debe proporcionar el destino. Por ejemplo: { "abfss": { "destination" : "abfss://..." } }

Job

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico de este trabajo.
creator_user_name STRING Nombre de usuario del creador. Este campo no se incluirá en la respuesta si ya se ha eliminado el usuario.
run_as STRING Nombre de usuario con el que se ejecutará el trabajo. run_as se basa en la configuración del trabajo actual y se establece en el creador del trabajo si el control de acceso del trabajo está deshabilitado o en is_owner si el control de acceso del trabajo está habilitado.
settings JobSettings Configuración para este trabajo y todas sus ejecuciones. Esta configuración se puede actualizar con el método resetJob.
created_time INT64 Hora a la que se creó este trabajo en milisegundos (milisegundos desde el 1/1/1970 UTC).

JobEmailNotifications

Importante

Los campos on_start, on_success y on_failure solo aceptan caracteres latinos (juego de caracteres ASCII). El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII son los caracteres chinos, los kanjis japoneses y los emojis.

Nombre del campo Tipo Descripción
on_start Matriz de objetos STRING. Lista de direcciones de correo electrónico a las que se notificará cuando comience una ejecución. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones.
on_success Matriz de objetos STRING. Lista de direcciones de correo electrónico a las que se notificará cuando se complete correctamente una ejecución. Se considera que una ejecución se ha completado correctamente si termina con TERMINATEDlife_cycle_state y con SUCCESSFULresult_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones.
on_failure Matriz de objetos STRING. Lista de direcciones de correo electrónico a las que se notificará cuando una ejecución no se complete correctamente. Se considera que una ejecución no se ha completado incorrectamente si termina con el estado INTERNAL_ERROR
life_cycle_state o el estado SKIPPED, FAILED, o TIMED_OUT result_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones.
on_duration_warning_threshold_exceeded Matriz de objetos STRING. Lista de direcciones de correo electrónico que se van a notificar cuando la duración de una ejecución supera el umbral especificado para la RUN_DURATION_SECONDS métrica en el health campo. Si no se especifica ninguna regla para la RUN_DURATION_SECONDS métrica en el health campo del trabajo, no se envían notificaciones.
no_alert_for_skipped_runs BOOL Si es true, no se envía correo electrónico a los destinatarios especificados en on_failure si se omite la ejecución.
Nombre del campo Tipo Descripción
on_start Matriz de Webhook Una lista opcional de destinos del sistema a los que notificar el inicio de una ejecución. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_start.
on_success Matriz de Webhook Una lista opcional de destinos del sistema a los que notificar cuando una ejecución finaliza con éxito. Se considera que una ejecución se ha completado correctamente si termina con TERMINATEDlife_cycle_state y con SUCCESSFULresult_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_success.
on_failure Matriz de Webhook Una lista opcional de destinos del sistema que deben ser notificados cuando una ejecución finaliza sin éxito. Se considera que una ejecución no se ha completado incorrectamente si termina con el estado INTERNAL_ERROR
life_cycle_state o el estado SKIPPED, FAILED, o TIMED_OUT result_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la on_failure propiedad.
on_duration_warning_threshold_exceeded Matriz de Webhook Una lista opcional de destinos del sistema a los que se notificará cuando la duración de una ejecución supere el umbral especificado para la RUN_DURATION_SECONDSmétricahealth en el campo. Se puede especificar un máximo de 3 destinos para la propiedad on_duration_warning_threshold_exceeded.

JobNotificationSettings

Nombre del campo Tipo Descripción
no_alert_for_skipped_runs BOOL Si es true, no se envían notificaciones a los destinatarios especificados en on_failure si se omite la ejecución.
no_alert_for_canceled_runs BOOL Si es true, no se envían notificaciones a los destinatarios especificados en on_failure si se cancela la ejecución.
alert_on_last_attempt BOOL Si es true, no envíe notificaciones a los destinatarios especificados en on_start para las ejecuciones de reintento y no envíe notificaciones a los destinatarios especificados en on_failure hasta el último reintento de la ejecución.

JobSettings

Importante

  • Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
  • Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.

Configuración de un trabajo Esta configuración se puede actualizar con el método resetJob.

Nombre del campo Tipo Descripción
existing_cluster_id o new_cluster STRING O NewCluster Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad.

Si new_cluster, una descripción de un clúster que se creará para cada ejecución.

Si especifica PipelineTask, este campo puede estar vacío.
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task o run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Si notebook_task, indica que este trabajo debe ejecutar un cuaderno. Es posible que este campo no se especifique junto con spark_jar_task.

Si spark_jar_task, indica que este trabajo debe ejecutar un archivo JAR.

Si spark_python_task, indica que este trabajo debe ejecutar un archivo Python.

Si spark_submit_task, indica que el script de envío de Spark debe iniciar este trabajo.

Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables.

Si run_job_task, indica que este trabajo debe ejecutar otro trabajo.
name STRING Nombre opcional del trabajo. El valor predeterminado es Untitled.
libraries Matriz de Library Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía.
email_notifications JobEmailNotifications Conjunto opcional de direcciones de correo electrónico a las que se notificará cuando comiencen o finalicen las ejecuciones de este trabajo, así como cuando se elimine este trabajo. El comportamiento predeterminado es no enviar ningún correo electrónico.
webhook_notifications WebhookNotifications Un conjunto opcional de destinos del sistema que se notificará cuando se inicien, completen o produzcan errores en las ejecuciones de este trabajo.
notification_settings JobNotificationSettings Configuración de notificación opcional que se usa al enviar notificaciones a email_notifications y webhook_notifications para este trabajo.
timeout_seconds INT32 Tiempo de espera opcional que se aplica a cada ejecución de este trabajo. El comportamiento predeterminado es no tener ningún tiempo de espera.
max_retries INT32 Número máximo opcional de veces que se volverá a intentar una ejecución incorrecta. Se considera que una ejecución es incorrecta si se completa con el valor FAILEDresult_state o
INTERNAL_ERROR
life_cycle_state. El valor -1 significa que la ejecución se volverá a intentar indefinidamente, mientras que el valor 0 significa que no se volverá a intentar nunca. El comportamiento predeterminado es no volver a intentar la ejecución nunca.
min_retry_interval_millis INT32 Intervalo mínimo opcional en milisegundos entre intentos. El comportamiento predeterminado es que las ejecuciones incorrectas se vuelvan a intentar de inmediato.
retry_on_timeout BOOL Directiva opcional para especificar si se debe volver a intentar un trabajo tras agotarse el tiempo de espera. El comportamiento predeterminado es no volver a intentarlo tras agotarse el tiempo de espera.
schedule CronSchedule Programación periódica opcional para este trabajo. El comportamiento predeterminado es que el trabajo solo se ejecutará cuando se desencadene al hacer clic en “Ejecutar ahora” en la interfaz de usuario de Jobs o al enviar una solicitud de API a
runNow.
max_concurrent_runs INT32 Número máximo permitido opcional de ejecuciones simultáneas del trabajo.

Establezca este valor si desea poder ejecutar varias ejecuciones del mismo trabajo de manera simultánea. Esto es útil, por ejemplo, si desencadena el trabajo con una programación frecuente y desea permitir que las ejecuciones consecutivas se superpongan entre sí, o bien si desea desencadenar varias ejecuciones que difieren en sus parámetros de entrada.

Esta configuración solo afecta a las nuevas ejecuciones. Por ejemplo, suponga que la simultaneidad del trabajo es 4 y hay 4 ejecuciones activas simultáneas. Si se establece la simultaneidad en 3, no se eliminará ninguna de las ejecuciones activas. Sin embargo, a partir de ese momento, se omitirán las nuevas ejecuciones a menos que haya menos de tres ejecuciones activas.

El valor no puede ser mayor que 1000. Al establecer este valor en 0, se omitirán todas las ejecuciones nuevas. El comportamiento predeterminado es permitir solo una ejecución simultánea.
health JobsHealthRules Conjunto opcional de reglas de mantenimiento definidas para el trabajo.

JobTask

Nombre del campo Tipo Descripción
notebook_task O spark_jar_task O
spark_python_task O spark_submit_task O
pipeline_task o run_job_task
NotebookTask O SparkJarTask O SparkPythonTask O SparkSubmitTask O PipelineTask O RunJobTask Si notebook_task, indica que este trabajo debe ejecutar un cuaderno. Es posible que este campo no se especifique junto con spark_jar_task.

Si spark_jar_task, indica que este trabajo debe ejecutar un archivo JAR.

Si spark_python_task, indica que este trabajo debe ejecutar un archivo Python.

Si spark_submit_task, indica que el script de envío de Spark debe iniciar este trabajo.

Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables.

Si run_job_task, indica que este trabajo debe ejecutar otro trabajo.

JobsHealthRule

Nombre del campo Tipo Descripción
metric STRING Especifica la métrica de mantenimiento que se está evaluando para una regla de mantenimiento determinada. Los valores válidos son RUN_DURATION_SECONDS.
operator STRING Especifica el operador utilizado para comparar el valor de la métrica de mantenimiento con el umbral especificado. Los valores válidos son GREATER_THAN.
value INT32 Especifica el valor de umbral que debe cumplir la métrica de mantenimiento para cumplir con la regla de mantenimiento.

JobsHealthRules

Nombre del campo Tipo Descripción
rules Una matriz de JobsHealthRule Conjunto opcional de reglas de mantenimiento que se pueden definir para un trabajo.

Library

Nombre del campo Tipo Descripción
jar O egg O whl O
pypi Omaven O cran
STRING, STRING, STRING, PythonPyPiLibrary, MavenLibrary o RCranLibrary Si es jar, el URI del archivo JAR que se va a instalar. Se admiten los URI DBFS y ADLS (abfss). Por ejemplo, { "jar": "dbfs:/mnt/databricks/library.jar" } o
{ "jar": "abfss://<container-path>/library.jar" }. Si se usa ADLS, asegúrese de que el clúster tenga acceso de lectura en la biblioteca.

Si es egg, el URI del archivo egg que se va a instalar. Se admiten los URI de DBFS y ADLS. Por ejemplo, { "egg": "dbfs:/my/egg" } o
{ "egg": "abfss://<container-path>/egg" }.

Si es whl, el URI del archivo wheel o de los archivos wheels comprimidos que se van a instalar. Se admiten los URI de DBFS y ADLS. Por ejemplo, { "whl": "dbfs:/my/whl" } o
{ "whl": "abfss://<container-path>/whl" }. Si se usa ADLS, asegúrese de que el clúster tenga acceso de lectura en la biblioteca. Además, el nombre de archivo wheel debe usar la convención correcta. Si se van a instalar archivos wheels comprimidos, el sufijo de nombre de archivo debe ser .wheelhouse.zip.

Si es pypi, especificación de una biblioteca PyPI que se va a instalar. Especificar el campo repo es opcional y, si no se hace, se usa el índice pip predeterminado. Por ejemplo:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Si es maven, especificación de una biblioteca Maven que se va a instalar. Por ejemplo:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Si es cran, especificación de una biblioteca CRAN que se va a instalar.

MavenLibrary

Nombre del campo Tipo Descripción
coordinates STRING Coordenadas de Maven de estilo Gradle. Por ejemplo: org.jsoup:jsoup:1.7.2. Este campo es obligatorio.
repo STRING Repositorio de Maven desde el que instalar el paquete de Maven. Si se omite, se busca en el repositorio central de Maven y en los paquetes de Spark.
exclusions Matriz de objetos STRING. Lista de dependencias que se excluirán. Por ejemplo: ["slf4j:slf4j", "*:hadoop-client"].

Exclusiones de dependencias de Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Nombre del campo Tipo Descripción
num_workers o autoscale INT32 O AutoScale Si num_workers, se obtiene el número de nodos de trabajo que debería tener este clúster. Los clústeres tienen un controlador de Spark y num_workers ejecutores para un total de num_workers + 1 nodos de Spark.

Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajos en lugar del número real actual de trabajos. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajos, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajos, mientras que los trabajos que se muestran en spark_info aumentan gradualmente de 5 a 10 con el aprovisionamiento de los nuevos nodos.

Si se usa autoscale, se muestran los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga.
spark_version STRING Versión de Spark del clúster. Puede obtener una lista de las versiones de Spark disponibles utilizando la llamada GET 2.0/clusters/spark-versions. Este campo es obligatorio.
spark_conf SparkConfPair Objeto que contiene un conjunto de pares de clave-valor de configuración de Spark opcionales especificado por el usuario. También puede pasar una cadena de opciones de JVM adicionales al controlador y a los ejecutores mediante
spark.driver.extraJavaOptions y spark.executor.extraJavaOptions, respectivamente.

Confirmaciones de Spark de ejemplo:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos Spark pueden aprovisionarse y optimizarse para cargas de trabajo intensivas en memoria o cálculo Puede recuperarse una lista de los tipos de nodos disponibles mediante la llamada GET 2.0/clusters/list-node-types. Este campo, el campo instance_pool_id o una directiva de clúster que especifica un identificador de tipo de nodo o un identificador de grupo de instancias, es obligatorio.
driver_node_type_id STRING Tipo de nodo del controlador de Spark. Este campo es opcional. Si no se establece, el tipo de nodo del controlador se establecerá con el mismo valor que node_type_id que se definió anteriormente.
custom_tags ClusterTag Objeto que contiene un conjunto de etiquetas para los recursos del clúster. Databricks etiqueta todos los recursos de clúster (como, por ejemplo, las máquinas virtuales) con estas etiquetas además de default_tags.

Nota:

* Las etiquetas no son compatibles con tipos de nodos heredados, como, por ejemplo, los que están optimizados para procesos y optimizados para memoria.
* Databricks permite como máximo 45 etiquetas personalizadas.
cluster_log_conf ClusterLogConf Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da la confirmación, los registros se entregarán al destino cada 5 mins. El destino de los registros de controlador es <destination>/<cluster-id>/driver, mientras que el destino de los registros del ejecutor es <destination>/<cluster-id>/executor.
init_scripts Matriz de InitScriptInfo Configuración para almacenar scripts de inicialización. Se pueden especificar tantos scripts como sea necesario. Los scripts se ejecutan de manera secuencial en el orden proporcionado. Si se especifica cluster_log_conf, los registros de script de init se enviarán a
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Objeto que contiene un conjunto de pares de clave-valor de variables de entorno opcionales especificadas por el usuario. Los partes de clave-valor del formulario (X,Y) se exportan tal y como están (es decir,
export X='Y') al iniciar el controlador y los trabajos.

Para especificar un conjunto adicional de SPARK_DAEMON_JAVA_OPTS, se recomienda anexarlos a $SPARK_DAEMON_JAVA_OPTS, tal como se muestra en el ejemplo siguiente. Esto garantiza que también se incluyan todas las variables de entorno predeterminadas que administra Databricks.

Variables de entorno de Spark de ejemplo:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Escalado automático de almacenamiento local: cuando se habilita esta variable, este clúster adquiere espacio en disco adicional de manera dinámica cuando sus trabajos de Spark se quedan sin espacio en disco. Consulte Habilitación del escalado automático de almacenamiento local para más información.
driver_instance_pool_id STRING Identificador opcional del grupo de instancias que se usará para el nodo de controlador. También debe especificar instance_pool_id. Consulte API Instance Pools 2.0 para obtener más detalles.
instance_pool_id STRING Identificador opcional del grupo de instancias que se usará para los nodos del clúster. Si driver_instance_pool_id está presente,
se usará instance_pool_id solo para los nodos de trabajo. De lo contrario, se usará tanto para el nodo de controlador como para los nodos de trabajo. Consulte API Instance Pools 2.0 para obtener más detalles.

NotebookOutput

Nombre del campo Tipo Descripción
result STRING Valor que se pasó a dbutils.notebook.exit(). Azure Databricks restringe esta API para que devuelva los primeros 1 MB del valor. Para obtener un resultado mayor, el trabajo puede almacenar los resultados en un servicio de almacenamiento en la nube. Este campo estará ausente si nunca se llamó a dbutils.notebook.exit().
truncated BOOLEAN Indica si el resultado se ha truncado o no.

NotebookTask

Todas las celdas de salida están sujetas al tamaño de 8 MB. Si la salida de una celda tiene un tamaño mayor, se cancelará el resto de la ejecución y esta se marcará como con errores. En ese caso, es posible que también falte parte de la salida de contenido de otras celdas.

Si necesita ayuda para encontrar la celda que está fuera del límite, ejecute el cuaderno en un clúster de uso general y use esta técnica de autoguardado del cuaderno.

Nombre del campo Tipo Descripción
notebook_path STRING Ruta de acceso absoluta del cuaderno que se va a ejecutar en el área de trabajo de Azure Databricks. Esta ruta de acceso debe comenzar con una barra diagonal. Este campo es obligatorio.
revision_timestamp LONG Marca de tiempo de la revisión del cuaderno.
base_parameters Asignación de ParamPair Parámetros base que se usarán para cada ejecución de este trabajo. Si la ejecución se inicia mediante una llamada a run-now con los parámetros especificados, se combinarán los dos mapas de parámetros. Si se especifica la misma clave en base_parameters y en run-now, se usará el valor de run-now.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

Si el cuaderno toma un parámetro que no se ha especificado en los parámetros de reemplazo base_parameters o run-now del trabajo, se usará el valor predeterminado del cuaderno.

Recupere estos parámetros en un cuaderno mediante dbutils.widgets.get.

ParamPair

Parámetros basados en nombres para trabajos que ejecutan tareas de cuaderno.

Importante

Los campos de esta estructura de datos solo aceptan caracteres latinos (juego de caracteres ASCII). El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII son los caracteres chinos, los kanjis japoneses y los emojis.

Tipo Descripción
STRING Nombre del parámetro. Pase a dbutils.widgets.get para recuperar el valor.
STRING Valor del parámetro.

PipelineTask

Nombre del campo Tipo Descripción
pipeline_id STRING Nombre completo de la tarea de la canalización de Delta Live Tables que se va a ejecutar.

PythonPyPiLibrary

Nombre del campo Tipo Descripción
package STRING Nombre del paquete PyPI que se instalará. También se admite una especificación de versión exacta opcional. Ejemplos: simplejson y simplejson==3.8.0. Este campo es obligatorio.
repo STRING Repositorio donde se puede encontrar el paquete. Si no se especifica, se usa el índice pip predeterminado.

RCranLibrary

Nombre del campo Tipo Descripción
package STRING Nombre del paquete CRAN que se instalará. Este campo es obligatorio.
repo STRING Repositorio donde se puede encontrar el paquete. Si no se especifica, se usa el repositorio CRAN predeterminado.

Run

Toda la información sobre una ejecución excepto su salida. La salida se puede recuperar por separado con el método getRunOutput.

Nombre del campo Tipo Descripción
job_id INT64 Identificador canónico del trabajo que contiene esta ejecución.
run_id INT64 Identificador canónico de la ejecución. Este identificador es único en todas las ejecuciones de todos los trabajos.
creator_user_name STRING Nombre de usuario del creador. Este campo no se incluirá en la respuesta si ya se ha eliminado el usuario.
number_in_job INT64 Número de secuencia de esta ejecución entre todas las ejecuciones del trabajo. Este valor comienza en 1.
original_attempt_run_id INT64 Si esta ejecución es un reintento de un intento de ejecución anterior, este campo contendrá el run_id del intento original; de lo contrario, será igual que el run_id.
state RunState Estados del resultado y el ciclo de vida de la ejecución.
schedule CronSchedule Programación cron que desencadenó esta ejecución si la desencadenó el programador periódico.
task JobTask Tarea realizada que realizó la ejecución, si realizó alguna.
cluster_spec ClusterSpec Instantánea de la especificación del clúster del trabajo cuando se creó esta ejecución.
cluster_instance ClusterInstance Clúster que se usó para esta ejecución. Si se especifica que la ejecución use un nuevo clúster, este campo se establecerá una vez que el servicio Jobs haya solicitado un clúster para la ejecución.
overriding_parameters RunParameters Parámetros usados para esta ejecución.
start_time INT64 Hora a la que se inició esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Puede que esta no sea la hora en que se inicia la ejecución de la tarea de trabajo; por ejemplo, si el trabajo está programado para ejecutarse en un nuevo clúster, esta sería la hora en que se emite la llamada de creación del clúster.
setup_duration INT64 Tiempo que se tardó en configurar el clúster en milisegundos. En el caso de ejecuciones que se ejecutan en clústeres nuevos, este es el tiempo de creación del clúster; para las ejecuciones que se ejecutan en clústeres existentes, el tiempo será muy corto.
execution_duration INT64 Tiempo en milisegundos que se tardó en ejecutar los comandos en el archivo JAR o en el cuaderno hasta que se completaron, hasta que se produjo un error, hasta que se agotó el tiempo de espera, hasta que se cancelaron o hasta que se produjo un error inesperado.
cleanup_duration INT64 Tiempo en milisegundos que se tardó en finalizar el clúster y limpiar los artefactos asociados. La duración total de la ejecución es la suma de setup_duration, execution_duration y cleanup_duration.
end_time INT64 Hora a la que finalizó esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Este campo se establecerá en 0 si el trabajo sigue en ejecución.
trigger TriggerType Tipo de desencadenador que desencadenó esta ejecución.
run_name STRING Nombre opcional de la ejecución. El valor predeterminado es Untitled. La longitud máxima permitida es de 4096 bytes en codificación UTF-8.
run_page_url STRING Dirección URL de la página de detalles de la ejecución.
run_type STRING Tipo de la ejecución.

* JOB_RUN: ejecución de trabajo normal. Ejecución que se creó con Ejecutar ahora.
* WORKFLOW_RUN: ejecución de flujo de trabajo. Ejecución que se creó con dbutils.notebook.run.
* SUBMIT_RUN: ejecución de envío. Ejecución que se creó con Ejecutar ahora.
attempt_number INT32 Número de secuencia de este intento de ejecución para una ejecución de trabajo desencadenada. El intento inicial de ejecución tiene un attempt_number de 0. Si se produce un error en el intento de ejecución inicial y el trabajo tiene una directiva de reintentos (max_retries> 0), las ejecuciones posteriores se crearán con un original_attempt_run_id del identificador del intento original y un incremento de attempt_number. Las ejecuciones solo se reintenta hasta que se ejecutan correctamente y el attempt_number máximo sea igual al valor max_retries del trabajo.

RunJobTask

Nombre del campo Tipo Descripción
job_id INT32 Identificador único del trabajo a ejecutar. Este campo es obligatorio.

RunLifeCycleState

Estado del ciclo de vida de una ejecución. Las transiciones de estado permitidas son las siguientes:

  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
State Descripción
PENDING La ejecución se ha desencadenado. Si aún no hay ninguna ejecución activa del mismo trabajo, quiere decir que el clúster y el contexto de ejecución están en preparación. Si ya hay una ejecución activa del mismo trabajo, la ejecución pasará inmediatamente al estado SKIPPED sin preparar ningún recurso.
RUNNING La tarea de esta ejecución está en ejecución.
TERMINATING La tarea de esta ejecución se completó y se están limpiando el clúster y el contexto de ejecución.
TERMINATED La tarea de esta ejecución se completó y se limpiaron el clúster y el contexto de ejecución. Este estado es terminal.
SKIPPED Esta ejecución se anuló porque ya había una ejecución anterior del mismo activa. Este estado es terminal.
INTERNAL_ERROR Estado excepcional que indica un error en el servicio Jobs, como, por ejemplo, un error de red durante un largo período. Si una ejecución de un nuevo clúster finaliza con el estado INTERNAL_ERROR, el servicio Jobs cerrará el clúster lo antes posible. Este estado es terminal.

RunParameters

Parámetros para esta ejecución. Solo se debe especificar un jar_params, python_params o notebook_params en la solicitud run-now, en función del tipo de tarea de trabajo. Los trabajos con la tarea JAR de Spark o la tarea de Python toman una lista de parámetros basados en la posición y los trabajos con tareas de cuaderno toman una asignación de valores clave.

Nombre del campo Tipo Descripción
jar_params Matriz de objetos STRING. Lista de parámetros para trabajos con tareas JAR de Spark, por ejemplo, "jar_params": ["john doe", "35"]. Los parámetros se usarán para invocar la función main de la clase principal especificada en la tarea JAR de Spark. Si no se especifica en run-now, el valor predeterminado será una lista vacía. jar_params no se puede especificar junto con notebook_params. La representación JSON de este campo (es decir, {"jar_params":["john doe","35"]}) no puede superar los 10 000 bytes.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.
notebook_params Asignación de ParamPair Asignación de claves a valores para trabajos con tarea de cuaderno, como, por ejemplo,
"notebook_params": {"name": "john doe", "age": "35"}. La asignación se pasa al cuaderno y está disponible a través de la función dbutils.widgets.get.

Si no se especifica en run-now, la ejecución desencadenada usa los parámetros base del trabajo.

notebook_params no se puede especificar junto con jar_params.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

La representación JSON de este campo (es decir,
{"notebook_params":{"name":"john doe","age":"35"}}) no puede superar los 10 000 bytes.
python_params Matriz de objetos STRING. Lista de parámetros para trabajos con tareas Python, por ejemplo, "python_params": ["john doe", "35"]. Los parámetros se pasan al archivo de Python como parámetros de línea de comandos. Si se especificara en run-now, se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo (es decir, {"python_params":["john doe","35"]}) no puede superar los 10 000 bytes.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

> [! IMPORTANTE] >> Estos parámetros solo aceptan caracteres latinos (juego de caracteres ASCII). > El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII > son los caracteres chinos, los kanjis japoneses y los emojis.
spark_submit_params Matriz de objetos STRING. Lista de parámetros para los trabajos con la tarea de envío de Spark, como, por ejemplo,
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Los parámetros se pasan al script spark-submit como parámetros de línea de comandos. Si se especificara en run-now, se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo (es decir, {"python_params":["john doe","35"]}) no puede superar los 10 000 bytes.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

> [! IMPORTANTE] >> Estos parámetros solo aceptan caracteres latinos (juego de caracteres ASCII). > El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII > son los caracteres chinos, los kanjis japoneses y los emojis.

RunResultState

Estado de resultado de la ejecución.

  • Si life_cycle_state = TERMINATED: si la ejecución tenía una tarea, se garantiza que el resultado estará disponible e indica el resultado de la tarea.
  • Si life_cycle_state = PENDING, RUNNING o SKIPPED, el estado del resultado no está disponible.
  • Si life_cycle_state = TERMINATING o lifecyclestate = INTERNAL_ERROR: el estado de resultado está disponible si la ejecución tenía una tarea y se administró para iniciarla.

Una vez que está disponible, el estado del resultado nunca cambia.

State Descripción
SUCCESS La tarea se completó correctamente.
FAILED La tarea finalizó con errores.
TIMEDOUT La ejecución se detuvo después de agotar el tiempo de espera.
CANCELED La ejecución se canceló a petición del usuario.

RunState

Nombre del campo Tipo Descripción
life_cycle_state RunLifeCycleState Descripción de la ubicación actual de una ejecución en el ciclo de vida de la ejecución. Este campo siempre está disponible en la respuesta.
result_state RunResultState Estado de resultado de la ejecución. Si no está disponible, la respuesta no incluirá este campo. Consulte RunResultState para obtener más información sobre la disponibilidad de result_state.
user_cancelled_or_timedout BOOLEAN Indica si un usuario o el programador cancelaron manualmente una ejecución porque se produjo un tiempo de espera.
state_message STRING Mensaje descriptivo del estado actual. Este campo no está estructurado y su formato exacto está sujeto a cambios.

SparkConfPair

Pares clave-valor de configuración de Spark.

Tipo Descripción
STRING Nombre de propiedad de configuración.
STRING Valor de propiedad de configuración.

SparkEnvPair

Pares clave-valor de variable de entorno de Spark.

Importante

Al especificar variables de entorno en un clúster de trabajos, los campos de esta estructura de datos solo aceptan caracteres latinos (juego de caracteres ASCII). El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII son los caracteres chinos, los kanjis japoneses y los emojis.

Tipo Descripción
STRING Nombre de la variable de entorno
STRING Valor de la variable de entorno.

SparkJarTask

Nombre del campo Tipo Descripción
jar_uri STRING En desuso desde abril de 2016. En su lugar, proporcione un archivo jar a través del campo libraries. Para obtener un ejemplo, consulte Create.
main_class_name STRING Nombre completo de la clase que incluye el método principal que se va a ejecutar. Esta clase debe estar contenida en un archivo JAR que se proporciona como una biblioteca.

El código debe usar SparkContext.getOrCreate para obtener un contexto de Spark; de lo contrario, se producirá un error en las ejecuciones del trabajo.
parameters Matriz de objetos STRING. Parámetros que se pasaron al método principal.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

SparkPythonTask

Nombre del campo Tipo Descripción
python_file STRING El URI del archivo Python que se va a ejecutar. Se admiten rutas de acceso de DBFS. Este campo es obligatorio.
parameters Matriz de objetos STRING. Parámetros de la línea de comandos que se pasaron al archivo Python.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

SparkSubmitTask

Importante

  • Solo se pueden invocar las tareas de envío de Spark en clústeres nuevos.
  • En la especificación new_cluster, libraries y spark_conf no se admiten. En su lugar, use --jars y --py-files para agregar bibliotecas de Java y Python, y --conf para establecer la configuración de Spark.
  • Azure Databricks configura automáticamente master, deploy-mode y executor-cores; estos valores no se pueden especificar en parámetros.
  • De forma predeterminada, el trabajo de envío de Spark usa toda la memoria disponible (excepto la memoria reservada para los servicios de Azure Databricks). Puede establecer --driver-memory y --executor-memory con un valor más bajo para dejar espacio para el uso fuera del montón.
  • Los argumentos --jars, --py-files y --files admiten rutas de acceso de DBFS.

Por ejemplo, suponiendo que el archivo JAR se cargue en DBFS, puede establecer los parámetros siguientes para ejecutar SparkPi.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
Nombre del campo Tipo Descripción
parameters Matriz de objetos STRING. Parámetros de línea de comandos que se pasan al envío de Spark.

Use Pasar contexto sobre las ejecuciones de trabajos en tareas de trabajo para establecer parámetros que contengan información sobre las ejecuciones de trabajos.

TriggerType

A continuación se describen los desencadenadores que pueden desencadenar una ejecución.

Tipo Descripción
PERIODIC Programaciones que desencadenan periódicamente ejecuciones, como, por ejemplo, un programador cron.
ONE_TIME Desencadenadores puntuales que desencadenan una sola ejecución. Esto ocurre cuando se desencadena una única ejecución a petición a través de la interfaz de usuario o la API.
RETRY Indica una ejecución que se desencadena como un reintento de una ejecución que produjo errores previamente. Esto sucede cuando se solicita volver a ejecutar el trabajo en caso de error.

ViewItem

El contenido exportado está en formato HTML. Por ejemplo, si la vista que se va a exportar es de paneles, se devuelve una cadena HTML para cada panel.

Nombre del campo Tipo Descripción
content STRING Contenido de la vista.
name STRING Nombre del elemento de vista. En el caso de la vista de código, se trata del nombre del cuaderno. En el caso de la vista de panel, se trata del nombre del panel.
type ViewType Tipo del elemento de vista.

ViewType

Tipo Descripción
NOTEBOOK Elemento de vista de cuaderno.
DASHBOARD Elemento de vista de panel.

ViewsToExport

Vista que se va a exportar: puede ser código, todos los paneles o todo.

Tipo Descripción
CODE Vista de código del cuaderno.
DASHBOARDS Todas las vistas de panel del cuaderno.
ALL Todas las vistas del cuaderno.

WebHook

Nombre del campo Tipo Descripción
id STRING Identificador que hace referencia a un destino de notificación del sistema. Este campo es obligatorio.

WebhookNotifications

Nombre del campo Tipo Descripción
on_start Matriz de Webhook Una lista opcional de destinos del sistema a los que notificar el inicio de una ejecución. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_start.
on_success Matriz de Webhook Una lista opcional de destinos del sistema a los que notificar cuando una ejecución finaliza con éxito. Se considera que una ejecución se ha completado correctamente si termina con TERMINATEDlife_cycle_state y con SUCCESSFULresult_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_success.
on_failure Matriz de Webhook Una lista opcional de destinos del sistema que deben ser notificados cuando una ejecución finaliza sin éxito. Se considera que una ejecución no se ha completado incorrectamente si termina con el estado INTERNAL_ERROR
life_cycle_state o un SKIPPED, FAILED, o TIMED_OUTresult_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la on_failure propiedad.
on_duration_warning_threshold_exceeded Matriz de Webhook Una lista opcional de destinos del sistema a los que se notificará cuando la duración de una ejecución supere el umbral especificado para la RUN_DURATION_SECONDSmétricahealth en el campo. Se puede especificar un máximo de 3 destinos para la propiedad on_duration_warning_threshold_exceeded.

WorkspaceStorageInfo

Información de almacenamiento del área de trabajo.

Nombre del campo Tipo Descripción
destination STRING Destino del archivo. Ejemplo: /Users/someone@domain.com/init_script.sh