Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
Importante
En este artículo se documenta la versión 2.0 de Jobs API. Sin embargo, Databricks recomienda usar Jobs API 2.2 para clientes y scripts nuevos y existentes. Para obtener más información sobre los cambios de la versión 2.2 de la API de empleos, consulte Actualización de la API de empleos 2.1 a 2.2.
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 información sobre la funcionalidad actualizada en versiones más recientes de la API de Trabajos, consulte Actualización de la API de Trabajos 2.0 a 2.1 y Actualización de la API de Trabajos 2.1 a 2.2.
Advertencia
Nunca debe codificar de forma rígida los secretos ni almacenarlos en texto sin formato. Usa la 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 nuevo empleo.
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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. - El contenido de
create-job.jsonpor los campos adecuados para la solución.
En este ejemplo se usa un archivo .netrc y jq.
Respuesta
{
"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 considera como una carga de trabajo de Cómputo Multiuso (interactiva), sujeta a la tarifa de Cómputo Multiuso.
| Nombre del campo | Tipo | Descripción |
|---|---|---|
existing_cluster_id O new_cluster |
STRING O NuevoClúster |
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 Ospark_python_task O spark_submit_task Opipeline_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 está presente, indica que este trabajo debe ser iniciado por el script de envío de Spark. Si pipeline_task, indica que este trabajo debe ejecutar una canalización. 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 |
NotificacionesDeCorreoElectrónicoDeTrabajo | 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 |
ConfiguraciónDeNotificacionesDeTrabajo | Configuración de notificación opcional que se usa al enviar notificaciones a email_notifications y webhook_notifications para este trabajo. |
timeout_seconds |
INT32 |
Límite de tiempo opcional que se aplica a cada ejecución de esta tarea. 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 fallida. Se considera que una ejecución es fallida si se completa con el result_state FAILED oINTERNAL_ERRORlife_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 indicar si se debe reintentar un trabajo cuando se agote el tiempo de espera. El comportamiento predeterminado es no reintentarlo en caso de tiempo de espera agotado. |
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 activa el trabajo con frecuencia y desea permitir que las ejecuciones consecutivas se solapen entre sí, o bien si quiere activar varias ejecuciones que difieren en sus parámetros de entrada. Esta configuración solo afecta a las nuevas ejecuciones. Por ejemplo, supongamos que la simultaneidad del trabajo es 4 y hay 4 ejecuciones activas simultáneas. A continuación, establecer la simultaneidad en 3 no 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 recién creado. |
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.
Respuesta
{
"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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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. |
Obtener
| 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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. -
<job-id>con el identificador del trabajo, como, por ejemplo,123.
En este ejemplo se usa un archivo .netrc y jq.
Respuesta
{
"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 |
La hora en que se creó este trabajo en milisegundos de época (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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. - El contenido de
reset-job.jsonpor los campos adecuados para la solución.
En este ejemplo se usa 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 Restablecer 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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. - El contenido de
update-job.jsonpor los campos adecuados para la solución.
En este ejemplo se usa 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 ojob_cluster_key y la entradas de 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 |
Una matriz de STRING. |
Quite 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 2000 ejecuciones de tareas simultáneas. Se devuelve una respuesta
429 Too Many Requestscuando 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 10 000 (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.
- Un área de trabajo puede contener hasta 12 000 trabajos guardados.
- Un trabajo puede contener hasta 100 tareas.
| Punto de conexión | Método HTTP |
|---|---|
2.0/jobs/run-now |
POST |
Ejecute un trabajo ahora y devuelva run_id de la ejecución desencadenada.
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"
}
}
Un ejemplo de solicitud para un trabajo JAR:
{
"job_id": 2,
"jar_params": ["john doe", "35"]
}
Sustituya:
-
<databricks-instance>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. - El contenido de
run-job.jsonpor los campos adecuados para la solución.
En este ejemplo se usa un archivo .netrc y jq.
Estructura de la solicitud
| Nombre del campo | Tipo | Descripción |
|---|---|---|
job_id |
INT64 |
|
jar_params |
Una matriz de 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, se establecerá por defecto como 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 |
Un mapa de ParamPair | Asignación de claves a valores para trabajos con tarea de cuaderno, como, por ejemplo,"notebook_params": {"name": "john doe", "age": "35"}. El mapa se pasa al cuaderno y está accesible 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 |
Una matriz de 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 |
Una matriz de 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 iniciada recientemente. |
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 2000 ejecuciones de tareas simultáneas. Se devuelve una respuesta
429 Too Many Requestscuando 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 10 000 (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.
- Un área de trabajo puede contener hasta 12 000 trabajos guardados.
- Un trabajo puede contener hasta 100 tareas.
| 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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. - El contenido de
submit-job.jsonpor los campos adecuados para la solución.
En este ejemplo se usa un archivo .netrc y jq.
Respuesta
{
"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 considera como una carga de trabajo de Cómputo Multiuso (interactiva), sujeta a la tarifa de Cómputo Multiuso.
| Nombre del campo | Tipo | Descripción |
|---|---|---|
existing_cluster_id O new_cluster |
STRING O NuevoClúster |
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 Ospark_python_task O spark_submit_task Opipeline_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 está presente, indica que este trabajo debe ser iniciado por el script de envío de Spark. Si pipeline_task, indica que este trabajo debe ejecutar una canalización. 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 |
ConfiguraciónDeNotificacionesDeTrabajo | Configuraciones de notificación opcionales que se usan al enviar notificaciones a cada webhook_notifications en 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 |
Límite de tiempo opcional que se aplica a cada ejecución de esta tarea. 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, consulte Ejecutar exportación.
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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net. -
<job-id>con el identificador del trabajo, como, por ejemplo,123. - "
<true-false>contrueofalse". -
<offset>con el valoroffset. -
<limit>con el valorlimit. -
<run-type>con el valorrun_type.
En este ejemplo se usa un archivo .netrc y jq.
Respuesta
{
"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 el 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 verdadero, hay ejecuciones adicionales que coinciden con el filtro proporcionado y están disponibles para ser listadas. |
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, consulte Ejecutar exportación.
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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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 y jq.
Respuesta
{
"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 | El clúster utilizado 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 |
El tiempo en milisegundos que se tardó en configurar el clúster. 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 multitarea. La duración total de una ejecución de trabajos de varias tareas es el valor delcampo run_duration. |
execution_duration |
INT64 |
El tiempo en milisegundos que tardaron en ejecutarse los comandos en el JAR o el notebook hasta que se completaron, fallaron, se agotó el tiempo de espera, fueron cancelados, o encontraron un error inesperado. La duración total de la ejecución es la suma de setup_duration, execution_duration ycleanup_duration. El campo execution_duration se establece en 0 para ejecuciones de trabajos multitarea. La duración total de una ejecución multitarea es el valor del campo run_duration. |
cleanup_duration |
INT64 |
El tiempo en milisegundos que se tomó para finalizar el clúster y limpiar los elementos 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 multitarea. La duración total de una ejecución multitarea es el valor del campo run_duration. |
run_duration |
INT64 |
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 la ejecución de una tarea es la suma desetup_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 |
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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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 y jq.
Respuesta
{
"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 |
VistasParaExportar | 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 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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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 van 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, consulte Ejecutar exportación.
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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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 y jq.
Respuesta
{
"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. Ver Las ejecuciones generan salida. 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 adbutils.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>con el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-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
- Escalabilidad automática
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Trabajo
- NotificacionesDeCorreoElectrónicoDeTrabajo
- ConfiguraciónDeNotificacionesDeTrabajo
- JobSettings
- JobTask
- JobsHealthRule
- ReglasDeSaludDeEmpleos
- Biblioteca
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Ejecutar
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- VistasParaExportar
- Webhook (webhook)
- WebhookNotifications
- WorkspaceStorageInfo
ABFSSStorageInfo
Información sobre almacenamiento de Azure Data Lake Storage (ADLS).
| Nombre del campo | Tipo | Descripción |
|---|---|---|
destination |
STRING |
Destino del archivo. Ejemplo: abfss://... |
Escalabilidad automática
Rango que define el número mínimo y máximo de trabajadores del clúster.
| Nombre del campo | Tipo | Descripción |
|---|---|---|
min_workers |
INT32 |
Número mínimo de trabajadores a los que el clúster puede reducirse 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 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 configurarlo como mayor o igual que el precio al contado 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. |
Disponibilidad de Azure
Comportamiento del tipo de disponibilidad de la instancia de Azure.
| Tipo | Descripción |
|---|---|
SPOT_AZURE |
Usar instancias de acceso puntual. |
ON_DEMAND_AZURE |
Uso de 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 de la piscina. |
Instancia de clúster
Identificadores para el clúster y el contexto de Spark que una ejecución utiliza. 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 |
Ubicación de DBFS del registro de clúster. Se debe proporcionar el destino. Por ejemplo: { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
Especificación de Clúster
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 considera como una carga de trabajo de Cómputo Multiuso (interactiva), sujeta a la tarifa de Cómputo Multiuso.
| Nombre del campo | Tipo | Descripción |
|---|---|---|
existing_cluster_id O new_cluster |
STRING O NuevoClúster |
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:
|
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. El horario 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 |
Información de Almacenamiento de Archivos
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 OR dbfs (en desuso)O 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://..." } } |
Trabajo
| 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 el usuario ya se ha eliminado. |
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 el permiso 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 |
La hora en que se creó este trabajo en milisegundos de época (milisegundos desde el 1/1/1970 UTC). |
NotificacionesPorCorreoElectrónicoDeTrabajo
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 |
Una matriz de 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 |
Una matriz de 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 finaliza con un TERMINATEDlife_cycle_state y un 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 |
Una matriz de STRING. |
Lista de direcciones de correo electrónico a las que se notificará cuando una ejecución no se complete correctamente. Una ejecución se considera completada de manera incorrecta si finaliza con el estado life_cycle_state o un SKIPPED, FAILED, o estado resultante TIMED_OUT. 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 |
Una matriz de 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 un 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 finaliza con un TERMINATEDlife_cycle_state y un 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. Una ejecución se considera completada de manera incorrecta si finaliza con el estado life_cycle_state o un SKIPPED, FAILED, o estado resultante TIMED_OUT. 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_failure. |
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 métrica RUN_DURATION_SECONDS en el campo health. Se puede especificar un máximo de 3 destinos para la propiedad on_duration_warning_threshold_exceeded. |
ConfiguraciónDeNotificacionesDeTrabajoJobNotificationSettings
| 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. |
ConfiguracionesDeTrabajo
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 considera como una carga de trabajo de Cómputo Multiuso (interactiva), sujeta a la tarifa de Cómputo 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 NuevoClúster |
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 Ospark_python_task O spark_submit_task Opipeline_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 está presente, indica que este trabajo debe ser iniciado por el script de envío de Spark. Si pipeline_task, indica que este trabajo debe ejecutar una canalización. 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 |
NotificacionesDeCorreoElectrónicoDeTrabajo | 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 |
ConfiguraciónDeNotificacionesDeTrabajo | Configuración de notificación opcional que se usa al enviar notificaciones a email_notifications y webhook_notifications para este trabajo. |
timeout_seconds |
INT32 |
Límite de tiempo opcional que se aplica a cada ejecución de esta tarea. 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 fallida. Se considera que una ejecución es fallida si se completa con el result_state FAILED oINTERNAL_ERRORlife_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 indicar si se debe reintentar un trabajo cuando se agote el tiempo de espera. El comportamiento predeterminado es no reintentarlo en caso de tiempo de espera agotado. |
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 arunNow. |
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 activa el trabajo con frecuencia y desea permitir que las ejecuciones consecutivas se solapen entre sí, o bien si quiere activar varias ejecuciones que difieren en sus parámetros de entrada. Esta configuración solo afecta a las nuevas ejecuciones. Por ejemplo, supongamos que la simultaneidad del trabajo es 4 y hay 4 ejecuciones activas simultáneas. A continuación, establecer la simultaneidad en 3 no eliminará ninguna de las ejecuciones activas. Sin embargo, a partir de ese momento, se omitirán las nuevas carreras a menos que haya menos de tres carreras 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 |
ReglasDeSaludDeEmpleos | Conjunto opcional de reglas de salud definidas para el trabajo. |
Tarea de Trabajo
| Nombre del campo | Tipo | Descripción |
|---|---|---|
notebook_task O spark_jar_task Ospark_python_task O spark_submit_task Opipeline_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 está presente, indica que este trabajo debe ser iniciado por el script de envío de Spark. Si pipeline_task, indica que este trabajo debe ejecutar una canalización. Si run_job_task, indica que este trabajo debe ejecutar otro trabajo. |
ReglaDeSaludDeEmpleos
| Nombre del campo | Tipo | Descripción |
|---|---|---|
metric |
STRING |
Especifica la métrica de salud que se está evaluando para una regla de salud determinada. Los valores válidos son RUN_DURATION_SECONDS. |
operator |
STRING |
Especifica el operador utilizado para comparar el valor de la métrica de salud con el umbral especificado. Los valores válidos son GREATER_THAN. |
value |
INT32 |
Especifica el valor de umbral que la métrica de salud debe cumplir para adherirse a la regla de salud. |
ReglasDeSaludDelTrabajo
| Nombre del campo | Tipo | Descripción |
|---|---|---|
rules |
Una matriz de JobsHealthRule | Conjunto opcional de reglas de salud que se pueden definir para un trabajo. |
Biblioteca
| Nombre del campo | Tipo | Descripción |
|---|---|---|
jar O egg O whl Opypi 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" }En el caso de 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 |
Una matriz de 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 ejecutores num_workers 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 utiliza autoscale, se necesitan parámetros para ampliar y reducir automáticamente los clústeres en función de la carga. |
spark_version |
STRING |
Versión de Spark del clúster. Se puede recuperar 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 mediantespark.driver.extraJavaOptions y spark.executor.extraJavaOptions, respectivamente.Ejemplos de configuraciones de Spark: {"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 de Spark se pueden aprovisionar y optimizar para cargas de trabajo intensivas de memoria o computación. Una lista de tipos de nodo disponibles se puede obtener mediante el uso de 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:
|
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 pares de clave-valor de la forma (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 utiliza 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 del contenido generado por 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 |
Un mapa 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 ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. Si el cuaderno toma un parámetro que no se especifica en los parámetros de base_parameters invalidación 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 canalización 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. |
Correr
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 el usuario ya se ha eliminado. |
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 | El clúster utilizado 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 |
El tiempo que se empleó 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 |
El tiempo en milisegundos que tardaron en ejecutarse los comandos en el JAR o el notebook hasta que se completaron, fallaron, se agotó el tiempo de espera, fueron cancelados, o encontraron un error inesperado. |
cleanup_duration |
INT64 |
El tiempo en milisegundos que se tomó para finalizar el clúster y limpiar los elementos asociados. La duración total de la ejecución es la suma de la duración de la configuración, la duración de la ejecución y la duración de la limpieza. |
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.
|
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 política de reintentos (max_retries> 0), las ejecuciones posteriores se crean con un original_attempt_run_id del identificador del intento original y un attempt_number que se incrementa. Las ejecuciones solo se reintentan hasta que se ejecutan correctamente y el attempt_number máximo sea igual al valor max_retries del trabajo. |
EjecutarTareaDeTrabajo
| 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:
-
QUEUED->PENDING -
PENDING- - ->RUNNING>TERMINATING>TERMINATED -
PENDING->SKIPPED -
PENDING->INTERNAL_ERROR -
RUNNING->INTERNAL_ERROR -
TERMINATING->INTERNAL_ERROR
| Estado | Descripción |
|---|---|
QUEUED |
La ejecución se ha desencadenado, pero se pone en cola porque alcanzó uno de los límites siguientes:
El trabajo o la ejecución deben tener habilitada la puesta en cola para poder alcanzar este estado. |
PENDING |
La ejecución se ha desencadenado. Si ya se ha alcanzado el número máximo de ejecuciones simultáneas configuradas del trabajo, la ejecución pasará inmediatamente al estado SKIPPED sin preparar ningún recurso. De lo contrario, la preparación del clúster y la ejecución está en proceso. |
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 trabajo 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. |
ParámetrosDeEjecución
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 |
Una matriz de 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, se establecerá por defecto como 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 ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. |
notebook_params |
Un mapa de ParamPair | Asignación de claves a valores para trabajos con tarea de cuaderno, como, por ejemplo,"notebook_params": {"name": "john doe", "age": "35"}. El mapa se pasa al cuaderno y está accesible 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 ¿Qué es una referencia de valor dinámico? 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 |
Una matriz de 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 ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. 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 |
Una matriz de 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 ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. 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,RUNNINGoSKIPPED, el estado del resultado no está disponible. - Si
life_cycle_state=TERMINATINGo lifecyclestate =INTERNAL_ERROR: el estado del resultado está disponible si la ejecución tenía una tarea y logró iniciarla.
Una vez que está disponible, el estado del resultado nunca cambia.
| Estado | Descripción |
|---|---|
SUCCESS |
La tarea se completó correctamente. |
FAILED |
La tarea finalizó con un error. |
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 una ejecución fue cancelada manualmente por un usuario o por el programador porque se agotó el 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 la configuración. |
STRING |
Valor de propiedad de la 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 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 |
Una matriz de STRING. |
Parámetros que se pasaron al método principal. Use ¿Qué es una referencia de valor dinámico? 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 |
Una matriz de STRING. |
Parámetros de la línea de comandos que se pasaron al archivo Python. Use ¿Qué es una referencia de valor dinámico? 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,
librariesyspark_confno se admiten. En su lugar, use--jarsy--py-filespara agregar bibliotecas de Java y Python, y--confpara establecer la configuración de Spark. - Azure Databricks configura automáticamente
master,deploy-modeyexecutor-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-memoryy--executor-memorycon un valor más bajo para dejar espacio para el uso fuera del montón. - Los argumentos
--jars,--py-filesy--filesadmiten 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 |
Una matriz de STRING. |
Parámetros de línea de comandos que se pasan al envío de Spark. Use ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. |
TriggerType
A continuación se describen los tipos de 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. |
Ver artículo
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, el nombre del cuaderno. En el caso de la vista del tablero de control, el nombre del tablero de control. |
type |
ViewType | Tipo del elemento de vista. |
Tipo de Vista
| Tipo | Descripción |
|---|---|
NOTEBOOK |
Elemento de vista de cuaderno. |
DASHBOARD |
Elemento de vista de panel. |
VistasParaExportar
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. |
NotificacionesDeWebhook
| 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 finaliza con un TERMINATEDlife_cycle_state y un 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. Una ejecución se considera completada de manera incorrecta si finaliza con el estado 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 propiedad on_failure. |
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 métrica RUN_DURATION_SECONDS en el campo health. 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 |