Jobs API 2.0
Importante
En este artículo se documenta la versión 2.0 de Jobs API. Sin embargo, Databricks recomienda usar Jobs API 2.1 para clientes y scripts nuevos y existentes. Para obtener más información sobre los cambios de las versiones 2.0 a la 2.1, consulte Actualizar de Jobs API 2.0 a 2.1.
La API Jobs permite crear, editar y eliminar trabajos. El tamaño máximo permitido de una solicitud a la API Jobs es de 10 MB.
Para obtener más información sobre actualizaciones de la API Jobs compatibles con la orquestación de varias tareas con trabajos de Azure Databricks, consulte Actualizar de Jobs API 2.0 a 2.1.
Advertencia
Nunca debe codificar de forma rígida los secretos ni almacenarlos en texto sin formato. Use API de secretos para administrar secretos en la CLI de Databricks. Cómo usar la utilidad Secrets (dbutils.secrets) para hacer referencia a secretos en cuadernos y trabajos.
Nota:
Si recibe un error de nivel 500 al realizar solicitudes de a la API Jobs, Databricks recomienda reintentar las solicitudes durante hasta 10 minutos (con un intervalo mínimo de 30 segundos entre reintentos).
Importante
Para acceder a las API REST de Databricks, es preciso autenticarse.
Crear
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/create |
POST |
Cree un trabajo.
Ejemplo
En este ejemplo se crea un trabajo que ejecuta una tarea JAR todas las noches a las 10:15 p. m.
Solicitud
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net
.- El contenido de
create-job.json
por los campos adecuados para la solución.
En este ejemplo se usa un archivo .netrc y jq.
Response
{
"job_id": 1
}
Estructura de la solicitud
Importante
- Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
- Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Nombre del campo | Tipo | Descripción |
---|---|---|
existing_cluster_id o new_cluster |
STRING O NewCluster |
Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad. Si new_cluster, una descripción de un clúster que se creará para cada ejecución. Si especifica PipelineTask, este campo puede estar vacío. |
notebook_task O spark_jar_task 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, indica que el script de envío de Spark debe iniciar este trabajo. Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables. Si run_job_task, indica que este trabajo debe ejecutar otro trabajo. |
name |
STRING |
Nombre opcional del trabajo. El valor predeterminado es Untitled . |
libraries |
Matriz de Library | Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía. |
email_notifications |
JobEmailNotifications | Conjunto opcional de direcciones de correo electrónico que se notifican cuando las ejecuciones de este trabajo comienzan y se completan, y cuando se elimina este trabajo. El comportamiento predeterminado es no enviar ningún correo electrónico. |
webhook_notifications |
WebhookNotifications | Un conjunto opcional de destinos del sistema que se notificará cuando se inicien, completen o produzcan errores en las ejecuciones de este trabajo. |
notification_settings |
JobNotificationSettings | Configuración de notificación opcional que se usa al enviar notificaciones a email_notifications y webhook_notifications para este trabajo. |
timeout_seconds |
INT32 |
Tiempo de espera opcional que se aplica a cada ejecución de este trabajo. El comportamiento predeterminado es no tener ningún tiempo de espera. |
max_retries |
INT32 |
Número máximo opcional de veces que se volverá a intentar una ejecución incorrecta. Se considera que una ejecución es incorrecta si se completa con el valor FAILED result_state oINTERNAL_ERROR life_cycle_state . El valor -1 significa que la ejecución se volverá a intentar indefinidamente, mientras que el valor 0 significa que no se volverá a intentar nunca. El comportamiento predeterminado es no volver a intentar la ejecución nunca. |
min_retry_interval_millis |
INT32 |
Intervalo mínimo opcional en milisegundos entre el inicio de la ejecución con errores y la ejecución del reintento siguiente. El comportamiento predeterminado es que las ejecuciones incorrectas se vuelvan a intentar de inmediato. |
retry_on_timeout |
BOOL |
Directiva opcional para especificar si se debe volver a intentar un trabajo tras agotarse el tiempo de espera. El comportamiento predeterminado es no volver a intentarlo tras agotarse el tiempo de espera. |
schedule |
CronSchedule | Programación periódica opcional para este trabajo. El comportamiento predeterminado es que el trabajo se ejecute cuando se desencadena al hacer clic en Ejecutar ahora en la interfaz de usuario de Jobs o al enviar una solicitud de API a runNow . |
max_concurrent_runs |
INT32 |
Número máximo permitido opcional de ejecuciones simultáneas del trabajo. Establezca este valor si desea poder ejecutar varias ejecuciones del mismo trabajo de manera simultánea. Esto es útil, por ejemplo, si desencadena el trabajo con una programación frecuente y desea permitir que las ejecuciones consecutivas se superpongan entre sí, o bien si desea desencadenar varias ejecuciones que difieren en sus parámetros de entrada. Esta configuración solo afecta a las nuevas ejecuciones. Por ejemplo, suponga que la simultaneidad del trabajo es 4 y hay 4 ejecuciones activas simultáneas. Si se establece la simultaneidad en 3, no se eliminará ninguna de las ejecuciones activas. Sin embargo, a partir de ese momento, se omitirán las nuevas ejecuciones a menos que haya menos de tres ejecuciones activas. El valor no puede ser mayor que 1000. Al establecer este valor en 0, se omitirán todas las ejecuciones nuevas. El comportamiento predeterminado es permitir solo una ejecución simultánea. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico del trabajo que se acaba de crear. |
Lista
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/list |
GET |
Enumera todos los trabajos.
Ejemplo
Solicitud
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
Reemplace <databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks, por ejemplo adb-1234567890123456.7.azuredatabricks.net
.
En este ejemplo se usa un archivo .netrc y jq.
Response
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
]
}
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
jobs |
Matriz de tipo Job. | Lista de trabajos. |
Eliminar
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/delete |
POST |
Elimine un trabajo y envíe un correo electrónico a las direcciones que se especificaron en JobSettings.email_notifications
. No se realizará ninguna acción si el trabajo ya se ha quitado. Después de quitar el trabajo, ni sus detalles ni su historial de ejecución estarán visibles en la interfaz de usuario de Jobs o en la API. Se garantiza que el trabajo se quitará tras finalizar esta solicitud. Sin embargo, las ejecuciones que estaban activas antes de la recepción de esta solicitud pueden seguir estando activas. Estas finalizarán de forma asincrónica.
Ejemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por 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. |
Get
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/get |
GET |
Recupera información acerca de un trabajo sencillo.
Ejemplo
Solicitud
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
O:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por ejemploadb-1234567890123456.7.azuredatabricks.net
.<job-id>
con el identificador del trabajo, como, por ejemplo,123
.
En este ejemplo, se usan un archivo .netrc y jq.
Response
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico del trabajo del que se va a recuperar información. Este campo es obligatorio. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico de este trabajo. |
creator_user_name |
STRING |
Nombre de usuario del creador. Este campo no se incluirá en la respuesta si se ha eliminado el usuario. |
settings |
JobSettings | Configuración para este trabajo y todas sus ejecuciones. Esta configuración se puede actualizar mediante los puntos de conexión Reset o Update. |
created_time |
INT64 |
Hora a la que se creó este trabajo en milisegundos (milisegundos desde el 1/1/1970 UTC). |
Restablecer
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/reset |
POST |
Sobrescriba toda la configuración de un trabajo específico. Use el punto de conexión Update para actualizar parcialmente la configuración del trabajo.
Ejemplo
Esta solicitud de ejemplo hace que el trabajo 2 sea idéntico al trabajo 1 en el ejemplo create.
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net
.- El contenido de
reset-job.json
por los campos adecuados para la solución.
En este ejemplo, se usan un archivo .netrc y jq.
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico del trabajo que se va a restablecer. Este campo es obligatorio. |
new_settings |
JobSettings | Nueva configuración del trabajo. Esta configuración reemplaza completamente la configuración anterior. Los cambios que se realizan en el campo JobSettings.timeout_seconds se aplican a las ejecuciones activas. Los cambios que se realizan en otros campos solo se aplican a ejecuciones futuras. |
Update
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/update |
POST |
Agregue, cambie o quite la configuración específica de un trabajo existente. Use el punto de conexión Reset para sobrescribir toda la configuración del trabajo.
Ejemplo
Esta solicitud de ejemplo quita las bibliotecas y agrega la configuración de notificación por correo electrónico al trabajo 1 que se definió en el ejemplo create.
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": [ "someone@example.com" ],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net
.- El contenido de
update-job.json
por los campos adecuados para la solución.
En este ejemplo, se usan un archivo .netrc y jq.
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico del trabajo que se va a actualizar. Este campo es obligatorio. |
new_settings |
JobSettings | Nueva configuración del trabajo. Los campos de nivel superior especificados en new_settings , excepto las matrices, se reemplazan por completo. Las matrices se combinan en función de los campos de clave respectivos, como task_key oLas tanto de job_cluster_key como de las matrices que tengan la misma clave se reemplazan por completo. Excepto para la combinación de matrices, no se admite la actualización parcial de campos anidados.Los cambios que se realizan en el campo JobSettings.timeout_seconds se aplican a las ejecuciones activas. Los cambios que se realizan en otros campos solo se aplican a ejecuciones futuras. |
fields_to_remove |
Matriz de objetos STRING . |
Quita los campos de nivel superior de la configuración del trabajo. No se admite la eliminación de campos anidados, excepto las entradas de las matrices tasks y job_clusters . Por ejemplo, el siguiente es un argumento válido para este campo:["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Este campo es opcional. |
Ejecutar ahora
Importante
- Un área de trabajo está limitada a 1000 ejecuciones de tareas simultáneas. Se devuelve una respuesta
429 Too Many Requests
cuando se solicita una ejecución que no se puede iniciar inmediatamente. - El número de trabajos que puede crear un área de trabajo en una hora está limitado a 10000 (incluye "envío de ejecuciones"). Este límite también afecta a los trabajos creados por los flujos de trabajo de la API REST y del cuaderno.
- 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 la ejecución desencadenada run_id
.
Sugerencia
Si invoca Create con Run now, puede usar el punto de conexión Runs submit en su lugar. Esto le permite enviar la carga de trabajo directamente sin tener que crear ningún trabajo.
Ejemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .
run-job.json
:
Solicitud de ejemplo para un trabajo de cuaderno:
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Solicitud de ejemplo para un trabajo JAR:
{
"job_id": 2,
"jar_params": [ "john doe", "35" ]
}
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net
.- El contenido de
run-job.json
por los campos adecuados para la solución.
En este ejemplo, se usan un archivo .netrc y jq.
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
|
jar_params |
Matriz de objetos STRING . |
Lista de parámetros para trabajos con tareas JAR, por ejemplo, "jar_params": ["john doe", "35"] . Los parámetros se usarán para invocar la función main de la clase principal especificada en la tarea JAR de Spark. Si no se especifica en run-now , el valor predeterminado será una lista vacía. jar_params no se puede especificar junto con notebook_params. La representación JSON de este campo (es decir, {"jar_params":["john doe","35"]} ) no puede superar los 10 000 bytes. |
notebook_params |
Asignación de ParamPair | Asignación de claves a valores para trabajos con tarea de cuaderno, como, por ejemplo,"notebook_params": {"name": "john doe", "age": "35"} . La asignación se pasa al cuaderno y está disponible a través de la función dbutils.widgets.get.Si no se especifica en run-now , la ejecución desencadenada usa los parámetros base del trabajo.No puede especificar notebook_params junto con jar_params. La representación JSON de este campo (es decir, {"notebook_params":{"name":"john doe","age":"35"}} ) no puede superar los 10 000 bytes. |
python_params |
Matriz de objetos STRING . |
Lista de parámetros para trabajos con tareas Python, por ejemplo, "python_params": ["john doe", "35"] . Los parámetros se pasarán al archivo de Python como parámetros de línea de comandos. Si se especificara en run-now , se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo (es decir, {"python_params":["john doe","35"]} ) no puede superar los 10 000 bytes. |
spark_submit_params |
Matriz de objetos STRING . |
Lista de parámetros para los trabajos con la tarea de envío de Spark, como, por ejemplo,"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Los parámetros se pasarán al script spark-submit como parámetros de línea de comandos. Si se especificara en run-now , se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo no puede superar los 10 000 bytes. |
idempotency_token |
STRING |
Token opcional para garantizar la idempotencia de las solicitudes de ejecución de trabajos. Si ya existe una ejecución con el token proporcionado, la solicitud no crea ninguna nueva ejecución sino que devuelve el identificador de la ejecución existente en su lugar. Si se elimina una ejecución con el token proporcionado, se devuelve un error. Si especifica el token de idempotencia, podrá volver a intentar realizar la solicitud hasta que esta se complete correctamente en caso de error. Azure Databricks garantiza que se iniciará exactamente una ejecución con ese token de idempotencia. Este token debe tener como máximo 64 caracteres. Para obtener más información, consulte Cómo garantizar la idempotencia de los trabajos. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
run_id |
INT64 |
Identificador único global de la ejecución recién desencadenada. |
number_in_job |
INT64 |
Número de secuencia de esta ejecución entre todas las ejecuciones del trabajo. |
Envío de ejecuciones
Importante
- Un área de trabajo está limitada a 1000 ejecuciones de tareas simultáneas. Se devuelve una respuesta
429 Too Many Requests
cuando se solicita una ejecución que no se puede iniciar inmediatamente. - El número de trabajos que puede crear un área de trabajo en una hora está limitado a 10000 (incluye "envío de ejecuciones"). Este límite también afecta a los trabajos creados por los flujos de trabajo de la API REST y del cuaderno.
- 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>
por el nombre de instancia de área de trabajo de Azure Databricks, por ejemploadb-1234567890123456.7.azuredatabricks.net
.- El contenido de
submit-job.json
por los campos adecuados para la solución.
En este ejemplo se usa un archivo .netrc y jq.
Response
{
"run_id": 123
}
Estructura de la solicitud
Importante
- Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
- Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Nombre del campo | Tipo | Descripción |
---|---|---|
existing_cluster_id o new_cluster |
STRING O NewCluster |
Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad. Si new_cluster, una descripción de un clúster que se creará para cada ejecución. Si especifica PipelineTask, este campo puede estar vacío. |
notebook_task O spark_jar_task 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, indica que el script de envío de Spark debe iniciar este trabajo. Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables. Si run_job_task, indica que este trabajo debe ejecutar otro trabajo. |
run_name |
STRING |
Nombre opcional de la ejecución. El valor predeterminado es Untitled . |
webhook_notifications |
WebhookNotifications | Un conjunto opcional de destinos del sistema que se notificará cuando se inicien, completen o produzcan errores en las ejecuciones de este trabajo. |
notification_settings |
JobNotificationSettings | Configuración de notificación opcional que se usa al enviar notificaciones a cada webhook_notifications para esta ejecución. |
libraries |
Matriz de Library | Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía. |
timeout_seconds |
INT32 |
Tiempo de espera opcional que se aplica a cada ejecución de este trabajo. El comportamiento predeterminado es no tener ningún tiempo de espera. |
idempotency_token |
STRING |
Token opcional para garantizar la idempotencia de las solicitudes de ejecución de trabajos. Si ya existe una ejecución con el token proporcionado, la solicitud no crea ninguna nueva ejecución sino que devuelve el identificador de la ejecución existente en su lugar. Si se elimina una ejecución con el token proporcionado, se devuelve un error. Si especifica el token de idempotencia, podrá volver a intentar realizar la solicitud hasta que esta se complete correctamente en caso de error. Azure Databricks garantiza que se iniciará exactamente una ejecución con ese token de idempotencia. Este token debe tener como máximo 64 caracteres. Para obtener más información, consulte Cómo garantizar la idempotencia de los trabajos. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
run_id |
INT64 |
Identificador canónico de la ejecución que se acaba de enviar. |
Lista de ejecuciones
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/runs/list |
GET |
Enumera las ejecuciones en orden descendente por hora de inicio.
Nota:
Las ejecuciones se quitan automáticamente después de 60 días. Si desea poder consultarlas más allá de 60 días, debe guardar los resultados de ejecución antiguos antes de que expiren. Para exportar mediante la interfaz de usuario, consulte Exportación de los resultados de la ejecución de trabajos. Para exportar mediante la API Jobs, Exportación de ejecuciones.
Ejemplo
Solicitud
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
O:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por ejemploadb-1234567890123456.7.azuredatabricks.net
.<job-id>
con el identificador del trabajo, como, por ejemplo,123
.- "
<true-false>
contrue
ofalse
". <offset>
con el valoroffset
.<limit>
con el valorlimit
.<run-type>
con el valorrun_type
.
En este ejemplo, se usan un archivo .netrc y jq.
Response
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
active_only o completed_only |
BOOL o BOOL |
Si active_only es true , solo se incluyen las ejecuciones activas en los resultados; de lo contrario, se muestran las ejecuciones activas y completadas. Una ejecución activa es una ejecución en el PENDING , RUNNING , o TERMINATING RunLifecycleState. Este campo no puede ser true cuando completed_only es true .Si completed_only es true , solo se incluyen las ejecuciones completadas en los resultados; de lo contrario, se muestran las ejecuciones activas y completadas. Este campo no puede ser true cuando active_only es true . |
job_id |
INT64 |
Trabajo para el que se muestran las ejecuciones. Si se omite, el servicio Jobs mostrará las ejecuciones de todos los trabajos. |
offset |
INT32 |
Desplazamiento de la primera ejecución que se debe devolver con respecto a la ejecución más reciente. |
limit |
INT32 |
Número de ejecuciones que se deben devolver. Este valor debe ser mayor que 0 y menor que 1000. El valor predeterminado es 20. Si una solicitud especifica un límite de 0, el servicio usará en su lugar el límite máximo. |
run_type |
STRING |
Tipo de ejecuciones que se deben devolver. Para obtener una descripción de los tipos de ejecución, consulte Ejecución. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
runs |
Matriz de Run. | Lista de ejecuciones, desde la que se inició más recientemente hasta la más antigua. |
has_more |
BOOL |
Si es true, hay disponibles ejecuciones adicionales que coinciden con el filtro proporcionado para la lista. |
Obtención de ejecuciones
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/runs/get |
GET |
Permite recuperar los metadatos de una ejecución.
Nota:
Las ejecuciones se quitan automáticamente después de 60 días. Si desea poder consultarlas más allá de 60 días, debe guardar los resultados de ejecución antiguos antes de que expiren. Para exportar mediante la interfaz de usuario, consulte Exportación de los resultados de la ejecución de trabajos. Para exportar mediante la API Jobs, Exportación de ejecuciones.
Ejemplo
Solicitud
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
O:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por ejemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
con el identificador de la ejecución, como, por ejemplo,123
.
En este ejemplo, se usan un archivo .netrc y jq.
Response
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
run_id |
INT64 |
Identificador canónico de la ejecución para la que se deben recuperar los metadatos. Este campo es obligatorio. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico del trabajo que contiene esta ejecución. |
run_id |
INT64 |
Identificador canónico de la ejecución. Este identificador es único en todas las ejecuciones de todos los trabajos. |
number_in_job |
INT64 |
Número de secuencia de esta ejecución entre todas las ejecuciones del trabajo. Este valor comienza en 1. |
original_attempt_run_id |
INT64 |
Si esta ejecución es un reintento de un intento de ejecución anterior, este campo contendrá el run_id del intento original; de lo contrario, será igual que el run_id. |
state |
RunState | Estados del resultado y el ciclo de vida de la ejecución. |
schedule |
CronSchedule | Programación cron que desencadenó esta ejecución si la desencadenó el programador periódico. |
task |
JobTask | Tarea realizada que realizó la ejecución, si realizó alguna. |
cluster_spec |
ClusterSpec | Instantánea de la especificación del clúster del trabajo cuando se creó esta ejecución. |
cluster_instance |
ClusterInstance | Clúster que se usó para esta ejecución. Si se especifica que la ejecución use un nuevo clúster, este campo se establecerá una vez que el servicio Jobs haya solicitado un clúster para la ejecución. |
overriding_parameters |
RunParameters | Parámetros usados para esta ejecución. |
start_time |
INT64 |
Hora a la que se inició esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Puede que esta no sea la hora en que se inicia la ejecución de la tarea de trabajo; por ejemplo, si el trabajo está programado para ejecutarse en un nuevo clúster, esta sería la hora en que se emite la llamada de creación del clúster. |
end_time |
INT64 |
Hora a la que finalizó esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Este campo se establecerá en 0 si el trabajo sigue en ejecución. |
setup_duration |
INT64 |
Tiempo que se tardó en configurar el clúster en milisegundos. En el caso de ejecuciones que se ejecutan en clústeres nuevos, este es el tiempo de creación del clúster; para las ejecuciones que se ejecutan en clústeres existentes, el tiempo será muy corto. La duración total de la ejecución es la suma de setup_duration ,execution_duration y cleanup_duration . El campo setup_duration se establece en 0 para ejecuciones de trabajos de varias tareas. La duración total de una ejecución de trabajos de varias tareas es el valor delcampo run_duration . |
execution_duration |
INT64 |
Tiempo en milisegundos que se tardó en ejecutar los comandos en el archivo JAR o en el cuaderno hasta que se completaron, hasta que se produjo un error, hasta que se agotó el tiempo de espera, hasta que se cancelaron o hasta que se produjo un error inesperado. La duración total de la ejecución es la suma de setup_duration , execution_duration ycleanup_duration . El campo execution_duration se establece en 0 para ejecuciones de trabajos de varias tareas. La duración total de una ejecución de trabajos de varias tareas es el valor del campo run_duration . |
cleanup_duration |
INT64 |
Tiempo en milisegundos que se tardó en finalizar el clúster y limpiar los artefactos asociados. La duración total de la ejecución es la suma de setup_duration , execution_duration y cleanup_duration . El campo cleanup_duration se establece en 0 para ejecuciones de trabajos de varias tareas. La duración total de una ejecución de trabajos de varias tareas es el valor del campo run_duration . |
run_duration |
INT64 |
El tiempo en milisegundos que tardó en finalizar la ejecución del trabajo y todas sus reparaciones. Este campo solo se establece para las ejecuciones de trabajos de varias tareas y no para las ejecuciones de tareas. La duración de una ejecución de tarea es la suma 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 |
Permite exportar y recuperar la tarea de ejecución del trabajo.
Nota:
Solo las ejecuciones de cuadernos se pueden exportar en formato HTML. Se producirá un error si se exportan ejecuciones de otros tipos.
Ejemplo
Solicitud
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
O:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por ejemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
con el identificador de la ejecución, como, por ejemplo,123
.
En este ejemplo, se usan un archivo .netrc y jq.
Response
{
"views": [ {
"content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
"name": "my-notebook",
"type": "NOTEBOOK"
} ]
}
Para extraer el cuaderno HTML de la respuesta JSON, descargue y ejecute este script de Python.
Nota:
El cuerpo del cuaderno del objeto __DATABRICKS_NOTEBOOK_MODEL
está codificado.
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
run_id |
INT64 |
Identificador canónico de la ejecución. Este campo es obligatorio. |
views_to_export |
ViewsToExport | Indica las vistas que se exportarán (CODE, DASHBOARDS o ALL). El valor predeterminado es CODE. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
views |
Matriz de ViewItem | Contenido exportado en formato HTML (uno para cada elemento de visualización). |
Cancelación de ejecuciones
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/runs/cancel |
POST |
Cancelar de la ejecución de un trabajo. Como la ejecución se cancela de forma asincrónica, cuando se complete esta solicitud, es posible que la ejecución siga en ejecución. La ejecución finalizará en breve. Si la ejecución ya está en estado terminal life_cycle_state
, este método es del tipo no-op.
Este punto de conexión valida que el parámetro run_id
sea válido y devuelve para los parámetros no válidos el código de estado HTTP 400.
Ejemplo
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por 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>
por 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 va a cancelar todas las ejecuciones. Este campo es obligatorio. |
Obtención del resultado de las ejecuciones
Punto de conexión | Método HTTP |
---|---|
2.0/jobs/runs/get-output |
GET |
Recupera la salida y los metadatos de una única ejecución de la tarea. Cuando una tarea de cuaderno devuelve un valor a través de la llamada dbutils.notebook.exit(), puede usar este punto de conexión para recuperar dicho valor. Azure Databricks restringe esta API para que devuelva los primeros 5 MB de la salida. Para devolver mayores resultados, puede almacenar los resultados del trabajo en un servicio de almacenamiento en la nube.
Este punto de conexión valida que el parámetro run_id
sea válido y devuelve para los parámetros no válidos el código de estado HTTP 400.
Las ejecuciones se quitan automáticamente después de 60 días. Si desea poder consultarlas más allá de 60 días, debe guardar los resultados de ejecución antiguos antes de que expiren. Para exportar mediante la interfaz de usuario, consulte Exportación de los resultados de la ejecución de trabajos. Para exportar mediante la API Jobs, Exportación de ejecuciones.
Ejemplo
Solicitud
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
O:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
Sustituya:
<databricks-instance>
por el nombre de instancia de área de trabajo de Azure Databricks; por ejemploadb-1234567890123456.7.azuredatabricks.net
.<run-id>
con el identificador de la ejecución, como, por ejemplo,123
.
En este ejemplo, se usan un archivo .netrc y jq.
Response
{
"metadata": {
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "TERMINATED",
"result_state": "SUCCESS",
"state_message": ""
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
},
"notebook_output": {
"result": "the maybe truncated string passed to dbutils.notebook.exit()"
}
}
Estructura de la solicitud
Nombre del campo | Tipo | Descripción |
---|---|---|
run_id |
INT64 |
Identificador canónico de la ejecución. En el caso de un trabajo con varias tareas, esta es el objeto run_id de una ejecución de tareas. Consulte Obtención del resultado de las ejecuciones. Este campo es obligatorio. |
Estructura de la respuesta
Nombre del campo | Tipo | Descripción |
---|---|---|
notebook_output o error |
NotebookOutput O STRING |
Si notebook_output, se obtiene la salida de una tarea de cuaderno, si está disponible. Las tareas de cuaderno que finalizan (ya sea correctamente o con un error) sin llamar 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>
por 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
- JobEmailNotifications
- JobNotificationSettings
- JobSettings
- JobTask
- JobsHealthRule
- JobsHealthRules
- Library
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Ejecutar
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- WebhookNotifications
- WorkspaceStorageInfo
ABFSSStorageInfo
Azure Data Lake Storage información de almacenamiento (ADLS).
Nombre del campo | Tipo | Descripción |
---|---|---|
destination |
STRING |
Destino del archivo. Ejemplo: abfss://... |
Escalabilidad automática
Intervalo que define el número mínimo y máximo de trabajos del clúster.
Nombre del campo | Tipo | Descripción |
---|---|---|
min_workers |
INT32 |
Número mínimo de trabajos a los que el clúster puede reducir verticalmente cuando se infrautiliza. También es el número inicial de trabajados que tendrá el clúster después de la creación. |
max_workers |
INT32 |
El número máximo de trabajos a los que el clúster se puede escalar verticalmente cuando se sobrecarga. max_workers debe ser estrictamente mayor que min_workers. |
AzureAttributes
Atributos establecidos durante la creación del clúster relacionados con Azure.
Nombre del campo | Tipo | Descripción |
---|---|---|
first_on_demand |
INT32 |
Los primeros nodos first_on_demand del clúster se colocarán en instancias a petición. Este valor debe ser mayor que 0 o, de lo contrario, se produce un error en la validación de la creación del clúster. Si este valor es mayor o igual que el tamaño actual del clúster, todos los nodos se colocarán en instancias a petición. Si este valor es menor que el tamaño actual del clúster, los nodos first_on_demand se colocarán en instancias a petición y el resto se colocará en instancias de disponibilidad. Este valor no afecta al tamaño del clúster y no se puede mutar durante la vigencia de un clúster. |
availability |
AzureAvailability | Tipo de disponibilidad utilizado para todos los nodos posteriores más allá de los siguientes first_on_demand . |
spot_bid_max_price |
DOUBLE |
Precio máximo de la oferta que se usa para las instancias de acceso puntual de Azure. Puede establecerlo en mayor o igual que el precio de acceso puntual actual. También puede establecerlo en -1 (valor predeterminado), que especifica que la instancia no se puede expulsar en función del precio. El precio de la instancia será el precio actual de las instancias de acceso puntual o el precio de una instancia estándar. Puede ver el histórico de precios y las tasas de expulsión en Azure Portal. |
AzureAvailability
Comportamiento del tipo de disponibilidad de la instancia de Azure.
Tipo | Descripción |
---|---|
SPOT_AZURE |
Uso de instancias de acceso puntual. |
ON_DEMAND_AZURE |
Use instancias a petición. |
SPOT_WITH_FALLBACK_AZURE |
Es preferible usar instancias de acceso puntual, pero volver a las instancias a petición si no se pueden adquirir instancias de acceso puntual (por ejemplo, si los precios del acceso puntual de Azure son demasiado altos o están fuera de cuota). No se aplica a la disponibilidad del grupo. |
ClusterInstance
Identificadores para el clúster y el contexto de Spark que usa una ejecución. Estos dos valores juntos identifican un contexto de ejecución en todo momento.
Nombre del campo | Tipo | Descripción |
---|---|---|
cluster_id |
STRING |
Identificador canónico del clúster que usó una ejecución. Este campo siempre está disponible para las ejecuciones en clústeres existentes. En el caso de las ejecuciones en clústeres nuevos, estará disponible después de crear el clúster. Este valor se puede usar para ver los registros si navega a /#setting/sparkui/$cluster_id/driver-logs . Los registros seguirán estando disponibles después de completar la ejecución.La respuesta no incluirá este campo si el identificador aún no está disponible. |
spark_context_id |
STRING |
Identificador canónico del contexto de Spark que usó una ejecución. Este campo se rellenará una vez que comience la ejecución. Este valor se puede usar para ver la interfaz de usuario de Spark si navega a /#setting/sparkui/$cluster_id/$spark_context_id . La interfaz de usuario de Spark seguirá estando disponible después de completar la ejecución.La respuesta no incluirá este campo si el identificador aún no está disponible. |
ClusterLogConf
Ruta de acceso al registro del clúster.
Nombre del campo | Tipo | Descripción |
---|---|---|
dbfs |
DbfsStorageInfo | Ubicación de DBFS del registro de clúster. Se debe proporcionar el destino. Por ejemplo,{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
ClusterSpec
Importante
- Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
- Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Nombre del campo | Tipo | Descripción |
---|---|---|
existing_cluster_id o new_cluster |
STRING O NewCluster |
Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad. Si new_cluster, una descripción de un clúster que se creará para cada ejecución. Si especifica PipelineTask, este campo puede estar vacío. |
libraries |
Matriz de Library | Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía. |
ClusterTag
Definición de etiqueta de clúster.
Tipo | Descripción |
---|---|
STRING |
La clave de la etiqueta. La clave debe: - Tener entre 1 y 512 caracteres de longitud - No contener ninguno de los caracteres <>%*&+?\\/ - No comenzar por azure , microsoft o windows |
STRING |
El valor de la etiqueta. La longitud del valor debe ser menor o igual que 256 caracteres UTF-8. |
CronSchedule
Nombre del campo | Tipo | Descripción |
---|---|---|
quartz_cron_expression |
STRING |
Expresión Cron que usa la sintaxis Quartz que describe la programación de un trabajo. Consulte Desencadenador cron para obtener más información. Este campo es obligatorio. |
timezone_id |
STRING |
Identificador de zona horaria de Java. La programación de un trabajo se resolverá con respecto a esta zona horaria. Consulte Zona horaria de Java para obtener más información. Este campo es obligatorio. |
pause_status |
STRING |
Indica si esta programación está en pausa o no. El valor puede ser "PAUSED" o "UNPAUSED". |
DbfsStorageInfo
Información de almacenamiento de DBFS.
Nombre del campo | Tipo | Descripción |
---|---|---|
destination |
STRING |
Destino de DBFS. Ejemplo: dbfs:/my/path |
FileStorageInfo
Información de almacenamiento de archivos.
Nota:
Este tipo de ubicación solo está disponible para los clústeres configurados mediante Databricks Container Services.
Nombre del campo | Tipo | Descripción |
---|---|---|
destination |
STRING |
Destino del archivo. Ejemplo: file:/my/file.sh |
InitScriptInfo
Ruta de acceso a un script de inicialización.
Para obtener instrucciones sobre el uso de scripts de inicialización con Databricks Container Services, consulte Uso de un script de inicialización.
Nota:
El tipo de almacenamiento de archivos (nombre de campo: file
) solo está disponible para clústeres configurados mediante el Servicio de contenedor de Databricks. Consulte FileStorageInfo.
Nombre del campo | Tipo | Descripción |
---|---|---|
workspace Odbfs (en desuso)OR abfss |
WorkspaceStorageInfo DbfsStorageInfo (en desuso) ABFSSStorageInfo |
Ubicación del área de trabajo del script de inicio. Se debe proporcionar el destino. Por ejemplo,{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } } (En desuso) Ubicación DBFS del script de inicio. Se debe proporcionar el destino. Por ejemplo, { "dbfs" : { "destination" : "dbfs:/home/init_script" } } Ubicación de Azure Data Lake Storage (ADLS) del script de inicio. Se debe proporcionar el destino. Por ejemplo: { "abfss": { "destination" : "abfss://..." } } |
Job
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico de este trabajo. |
creator_user_name |
STRING |
Nombre de usuario del creador. Este campo no se incluirá en la respuesta si ya se ha eliminado el usuario. |
run_as |
STRING |
Nombre de usuario con el que se ejecutará el trabajo. run_as se basa en la configuración del trabajo actual y se establece en el creador del trabajo si el control de acceso del trabajo está deshabilitado o en is_owner si el control de acceso del trabajo está habilitado. |
settings |
JobSettings | Configuración para este trabajo y todas sus ejecuciones. Esta configuración se puede actualizar con el método resetJob . |
created_time |
INT64 |
Hora a la que se creó este trabajo en milisegundos (milisegundos desde el 1/1/1970 UTC). |
JobEmailNotifications
Importante
Los campos on_start, on_success y on_failure solo aceptan caracteres latinos (juego de caracteres ASCII). El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII son los caracteres chinos, los kanjis japoneses y los emojis.
Nombre del campo | Tipo | Descripción |
---|---|---|
on_start |
Matriz de objetos STRING . |
Lista de direcciones de correo electrónico a las que se notificará cuando comience una ejecución. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. |
on_success |
Matriz de objetos STRING . |
Lista de direcciones de correo electrónico a las que se notificará cuando se complete correctamente una ejecución. Se considera que una ejecución se ha completado correctamente si finaliza con un TERMINATED life_cycle_state y un SUCCESSFUL result_state . Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. |
on_failure |
Matriz de objetos STRING . |
Lista de direcciones de correo electrónico a las que se notificará cuando una ejecución no se complete correctamente. Se considera que una ejecución no se ha completado incorrectamente si termina con el estado INTERNAL_ERROR life_cycle_state o el estado SKIPPED , FAILED , o TIMED_OUT result_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. |
on_duration_warning_threshold_exceeded |
Matriz de objetos STRING . |
Lista de direcciones de correo electrónico que se van a notificar cuando la duración de una ejecución supera el umbral especificado para la RUN_DURATION_SECONDS métrica en el health campo. Si no se especifica ninguna regla para la RUN_DURATION_SECONDS métrica en el health campo del trabajo, no se envían notificaciones. |
no_alert_for_skipped_runs |
BOOL |
Si es true, no se envía correo electrónico a los destinatarios especificados en on_failure si se omite la ejecución. |
Nombre del campo | Tipo | Descripción |
---|---|---|
on_start |
Matriz de Webhook | Una lista opcional de destinos del sistema a los que notificar el inicio de una ejecución. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_start . |
on_success |
Matriz de Webhook | Una lista opcional de destinos del sistema a los que notificar cuando una ejecución finaliza con éxito. Se considera que una ejecución se ha completado correctamente si finaliza con un TERMINATED life_cycle_state y un SUCCESSFUL result_state . Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_success . |
on_failure |
Matriz de Webhook | Una lista opcional de destinos del sistema que deben ser notificados cuando una ejecución finaliza sin éxito. Se considera que una ejecución no se ha completado incorrectamente si termina con el estado INTERNAL_ERROR life_cycle_state o el estado SKIPPED , FAILED , o TIMED_OUT result_state. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la on_failure propiedad. |
on_duration_warning_threshold_exceeded |
Matriz de Webhook | Una lista opcional de destinos del sistema a los que se notificará cuando la duración de una ejecución supere el umbral especificado para la RUN_DURATION_SECONDS métricahealth en el campo. Se puede especificar un máximo de 3 destinos para la propiedad on_duration_warning_threshold_exceeded . |
JobNotificationSettings
Nombre del campo | Tipo | Descripción |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Si es true, no se envían notificaciones a los destinatarios especificados en on_failure si se omite la ejecución. |
no_alert_for_canceled_runs |
BOOL |
Si es true, no se envían notificaciones a los destinatarios especificados en on_failure si se cancela la ejecución. |
alert_on_last_attempt |
BOOL |
Si es true, no envíe notificaciones a los destinatarios especificados en on_start para las ejecuciones de reintento y no envíe notificaciones a los destinatarios especificados en on_failure hasta el último reintento de la ejecución. |
JobSettings
Importante
- Cuando se ejecuta un trabajo en un nuevo clúster de trabajos, el trabajo se trata como una carga de proceso de trabajos (automática) sujeta a los precios de procesos de trabajos.
- Cuando se ejecuta un trabajo en un clúster de uso general existente, se trata como una carga de trabajo de proceso multiuso (interactiva) sujeta a los precios procesos multiuso.
Configuración de un trabajo Esta configuración se puede actualizar con el método resetJob
.
Nombre del campo | Tipo | Descripción |
---|---|---|
existing_cluster_id o new_cluster |
STRING O NewCluster |
Si existing_cluster_id, el identificador de un clúster existente que se usará para todas las ejecuciones de este trabajo. Al ejecutar trabajos en un clúster existente, es posible que tenga que reiniciar manualmente el clúster si deja de responder. Se recomienda ejecutar trabajos en clústeres nuevos para mayor confiabilidad. Si new_cluster, una descripción de un clúster que se creará para cada ejecución. Si especifica PipelineTask, este campo puede estar vacío. |
notebook_task O spark_jar_task 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, indica que el script de envío de Spark debe iniciar este trabajo. Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables. Si run_job_task, indica que este trabajo debe ejecutar otro trabajo. |
name |
STRING |
Nombre opcional del trabajo. El valor predeterminado es Untitled . |
libraries |
Matriz de Library | Lista opcional de bibliotecas para instalar en el clúster que ejecutará el trabajo. El valor predeterminado es una lista vacía. |
email_notifications |
JobEmailNotifications | Conjunto opcional de direcciones de correo electrónico a las que se notificará cuando comiencen o finalicen las ejecuciones de este trabajo, así como cuando se elimine este trabajo. El comportamiento predeterminado es no enviar ningún correo electrónico. |
webhook_notifications |
WebhookNotifications | Un conjunto opcional de destinos del sistema que se notificará cuando se inicien, completen o produzcan errores en las ejecuciones de este trabajo. |
notification_settings |
JobNotificationSettings | Configuración de notificación opcional que se usa al enviar notificaciones a email_notifications y webhook_notifications para este trabajo. |
timeout_seconds |
INT32 |
Tiempo de espera opcional que se aplica a cada ejecución de este trabajo. El comportamiento predeterminado es no tener ningún tiempo de espera. |
max_retries |
INT32 |
Número máximo opcional de veces que se volverá a intentar una ejecución incorrecta. Se considera que una ejecución es incorrecta si se completa con el valor FAILED result_state oINTERNAL_ERROR life_cycle_state . El valor -1 significa que la ejecución se volverá a intentar indefinidamente, mientras que el valor 0 significa que no se volverá a intentar nunca. El comportamiento predeterminado es no volver a intentar la ejecución nunca. |
min_retry_interval_millis |
INT32 |
Intervalo mínimo opcional en milisegundos entre intentos. El comportamiento predeterminado es que las ejecuciones incorrectas se vuelvan a intentar de inmediato. |
retry_on_timeout |
BOOL |
Directiva opcional para especificar si se debe volver a intentar un trabajo tras agotarse el tiempo de espera. El comportamiento predeterminado es no volver a intentarlo tras agotarse el tiempo de espera. |
schedule |
CronSchedule | Programación periódica opcional para este trabajo. El comportamiento predeterminado es que el trabajo solo se ejecutará cuando se desencadene al hacer clic en “Ejecutar ahora” en la interfaz de usuario de Jobs o al enviar una solicitud de API 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 desencadena el trabajo con una programación frecuente y desea permitir que las ejecuciones consecutivas se superpongan entre sí, o bien si desea desencadenar varias ejecuciones que difieren en sus parámetros de entrada. Esta configuración solo afecta a las nuevas ejecuciones. Por ejemplo, suponga que la simultaneidad del trabajo es 4 y hay 4 ejecuciones activas simultáneas. Si se establece la simultaneidad en 3, no se eliminará ninguna de las ejecuciones activas. Sin embargo, a partir de ese momento, se omitirán las nuevas ejecuciones a menos que haya menos de tres ejecuciones activas. El valor no puede ser mayor que 1000. Al establecer este valor en 0, se omitirán todas las ejecuciones nuevas. El comportamiento predeterminado es permitir solo una ejecución simultánea. |
health |
JobsHealthRules | Conjunto opcional de reglas de mantenimiento definidas para el trabajo. |
JobTask
Nombre del campo | Tipo | Descripción |
---|---|---|
notebook_task O spark_jar_task 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, indica que el script de envío de Spark debe iniciar este trabajo. Si pipeline_task, indica que este trabajo debe ejecutar una canalización de Delta Live Tables. Si run_job_task, indica que este trabajo debe ejecutar otro trabajo. |
JobsHealthRule
Nombre del campo | Tipo | Descripción |
---|---|---|
metric |
STRING |
Especifica la métrica de mantenimiento que se está evaluando para una regla de mantenimiento determinada. Los valores válidos son RUN_DURATION_SECONDS . |
operator |
STRING |
Especifica el operador utilizado para comparar el valor de la métrica de mantenimiento con el umbral especificado. Los valores válidos son GREATER_THAN . |
value |
INT32 |
Especifica el valor de umbral que debe cumplir la métrica de mantenimiento para cumplir con la regla de mantenimiento. |
JobsHealthRules
Nombre del campo | Tipo | Descripción |
---|---|---|
rules |
Una matriz de JobsHealthRule | Conjunto opcional de reglas de mantenimiento que se pueden definir para un trabajo. |
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" } Si es maven, especificación de una biblioteca Maven que se va a instalar. Por ejemplo: { "coordinates": "org.jsoup:jsoup:1.7.2" } Si es cran, especificación de una biblioteca CRAN que se va a instalar. |
MavenLibrary
Nombre del campo | Tipo | Descripción |
---|---|---|
coordinates |
STRING |
Coordenadas de Maven de estilo Gradle. Por ejemplo: org.jsoup:jsoup:1.7.2 . Este campo es obligatorio. |
repo |
STRING |
Repositorio de Maven desde el que instalar el paquete de Maven. Si se omite, se busca en el repositorio central de Maven y en los paquetes de Spark. |
exclusions |
Matriz de objetos STRING . |
Lista de dependencias que se excluirán. Por ejemplo: ["slf4j:slf4j", "*:hadoop-client"] .Exclusiones de dependencias de Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
NewCluster
Nombre del campo | Tipo | Descripción |
---|---|---|
num_workers o autoscale |
INT32 O AutoScale |
Si num_workers, se obtiene el número de nodos de trabajo que debería tener este clúster. Los clústeres tienen un controlador de Spark y num_workers ejecutores para un total de num_workers + 1 nodos de Spark. Nota: Al leer las propiedades de un clúster, este campo refleja el número deseado de trabajos en lugar del número real actual de trabajos. Por ejemplo, si se cambia el tamaño de un clúster de 5 a 10 trabajos, este campo se actualizará inmediatamente para reflejar el tamaño objetivo de 10 trabajos, mientras que los trabajos que se muestran en spark_info aumentan gradualmente de 5 a 10 con el aprovisionamiento de los nuevos nodos. Si se usa autoscale, se muestran los parámetros necesarios para escalar y reducir verticalmente los clústeres automáticamente en función de la carga. |
spark_version |
STRING |
Versión de Spark del clúster. Puede obtener una lista de las versiones de Spark disponibles utilizando la llamada GET 2.0/clusters/spark-versions. Este campo es obligatorio. |
spark_conf |
SparkConfPair | Objeto que contiene un conjunto de pares de clave-valor de configuración de Spark opcionales especificado por el usuario. También puede pasar una cadena de opciones de JVM adicionales al controlador y a los ejecutores mediantespark.driver.extraJavaOptions y spark.executor.extraJavaOptions , respectivamente.Confirmaciones de Spark de ejemplo: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} o{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"} |
node_type_id |
STRING |
Este campo codifica, mediante un solo valor, los recursos disponibles para cada uno de los nodos de Spark de este clúster. Por ejemplo, los nodos Spark pueden aprovisionarse y optimizarse para cargas de trabajo intensivas en memoria o cálculo Puede recuperarse una lista de los tipos de nodos disponibles mediante la llamada GET 2.0/clusters/list-node-types. Este campo, el campo instance_pool_id o una directiva de clúster que especifica un identificador de tipo de nodo o un identificador de grupo de instancias, es obligatorio. |
driver_node_type_id |
STRING |
Tipo de nodo del controlador de Spark. Este campo es opcional. Si no se establece, el tipo de nodo del controlador se establecerá con el mismo valor que node_type_id que se definió anteriormente. |
custom_tags |
ClusterTag | Objeto que contiene un conjunto de etiquetas para los recursos del clúster. Databricks etiqueta todos los recursos de clúster (como, por ejemplo, las máquinas virtuales) con estas etiquetas además de default_tags. Nota: - Las etiquetas no son compatibles con tipos de nodos heredados, como, por ejemplo, los que están optimizados para procesos y optimizados para memoria - Databricks permite como máximo 45 etiquetas personalizadas |
cluster_log_conf |
ClusterLogConf | Configuración para entregar registros de Spark a un destino de almacenamiento a largo plazo. Solo se puede especificar un destino para un clúster. Si se da la confirmación, los registros se entregarán al destino cada 5 mins . El destino de los registros de controlador es <destination>/<cluster-id>/driver , mientras que el destino de los registros del ejecutor es <destination>/<cluster-id>/executor . |
init_scripts |
Matriz de InitScriptInfo | Configuración para almacenar scripts de inicialización. Se pueden especificar tantos scripts como sea necesario. Los scripts se ejecutan de manera secuencial en el orden proporcionado. Si se especifica cluster_log_conf , los registros de script de init se enviarán a<destination>/<cluster-id>/init_scripts . |
spark_env_vars |
SparkEnvPair | Objeto que contiene un conjunto de pares de clave-valor de variables de entorno opcionales especificadas por el usuario. Los partes de clave-valor del formulario (X,Y) se exportan tal y como están (es decir,export X='Y' ) al iniciar el controlador y los trabajos.Para especificar un conjunto adicional de SPARK_DAEMON_JAVA_OPTS , se recomienda anexarlos a $SPARK_DAEMON_JAVA_OPTS , tal como se muestra en el ejemplo siguiente. Esto garantiza que también se incluyan todas las variables de entorno predeterminadas que administra Databricks.Variables de entorno de Spark de ejemplo: {"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} o{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"} |
enable_elastic_disk |
BOOL |
Escalado automático de almacenamiento local: cuando se habilita esta variable, este clúster adquiere espacio en disco adicional de manera dinámica cuando sus trabajos de Spark se quedan sin espacio en disco. Consulte Habilitación del escalado automático de almacenamiento local para más información. |
driver_instance_pool_id |
STRING |
Identificador opcional del grupo de instancias que se usará para el nodo de controlador. También debe especificar instance_pool_id . Consulte API Instance Pools 2.0 para obtener más detalles. |
instance_pool_id |
STRING |
Identificador opcional del grupo de instancias que se usará para los nodos del clúster. Si driver_instance_pool_id está presente,se usará instance_pool_id solo para los nodos de trabajo. De lo contrario, se usará tanto para el nodo de controlador como para los nodos de trabajo. Consulte API Instance Pools 2.0 para obtener más detalles. |
NotebookOutput
Nombre del campo | Tipo | Descripción |
---|---|---|
result |
STRING |
Valor que se pasó a dbutils.notebook.exit(). Azure Databricks restringe esta API para que devuelva los primeros 1 MB del valor. Para obtener un resultado mayor, el trabajo puede almacenar los resultados en un servicio de almacenamiento en la nube. Este campo estará ausente si nunca se llamó a dbutils.notebook.exit() . |
truncated |
BOOLEAN |
Indica si el resultado se ha truncado o no. |
NotebookTask
Todas las celdas de salida están sujetas al tamaño de 8 MB. Si la salida de una celda tiene un tamaño mayor, se cancelará el resto de la ejecución y esta se marcará como con errores. En ese caso, es posible que también falte parte de la salida de contenido de otras celdas.
Si necesita ayuda para encontrar la celda que está fuera del límite, ejecute el cuaderno en un clúster de uso general y use esta técnica de autoguardado del cuaderno.
Nombre del campo | Tipo | Descripción |
---|---|---|
notebook_path |
STRING |
Ruta de acceso absoluta del cuaderno que se va a ejecutar en el área de trabajo de Azure Databricks. Esta ruta de acceso debe comenzar con una barra diagonal. Este campo es obligatorio. |
revision_timestamp |
LONG |
Marca de tiempo de la revisión del cuaderno. |
base_parameters |
Asignación de ParamPair | Parámetros base que se usarán para cada ejecución de este trabajo. Si la ejecución se inicia mediante una llamada a run-now con los parámetros especificados, se combinarán los dos mapas de parámetros. Si se especifica la misma clave en base_parameters y en run-now , se usará el valor de run-now .Use ¿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 ha especificado en los parámetros de reemplazo base_parameters o run-now del trabajo, se usará el valor predeterminado del cuaderno.Recupere estos parámetros en un cuaderno mediante dbutils.widgets.get. |
ParamPair
Parámetros basados en nombres para trabajos que ejecutan tareas de cuaderno.
Importante
Los campos de esta estructura de datos solo aceptan caracteres latinos (juego de caracteres ASCII). El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII son los caracteres chinos, los kanjis japoneses y los emojis.
Tipo | Descripción |
---|---|
STRING |
Nombre del parámetro. Pase a dbutils.widgets.get para recuperar el valor. |
STRING |
Valor del parámetro. |
PipelineTask
Nombre del campo | Tipo | Descripción |
---|---|---|
pipeline_id |
STRING |
Nombre completo de la tarea de la canalización de Delta Live Tables que se va a ejecutar. |
PythonPyPiLibrary
Nombre del campo | Tipo | Descripción |
---|---|---|
package |
STRING |
Nombre del paquete PyPI que se instalará. También se admite una especificación de versión exacta opcional. Ejemplos: simplejson y simplejson==3.8.0 . Este campo es obligatorio. |
repo |
STRING |
Repositorio donde se puede encontrar el paquete. Si no se especifica, se usa el índice pip predeterminado. |
RCranLibrary
Nombre del campo | Tipo | Descripción |
---|---|---|
package |
STRING |
Nombre del paquete CRAN que se instalará. Este campo es obligatorio. |
repo |
STRING |
Repositorio donde se puede encontrar el paquete. Si no se especifica, se usa el repositorio CRAN predeterminado. |
Run
Toda la información sobre una ejecución excepto su salida. La salida se puede recuperar por separado con el método getRunOutput
.
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT64 |
Identificador canónico del trabajo que contiene esta ejecución. |
run_id |
INT64 |
Identificador canónico de la ejecución. Este identificador es único en todas las ejecuciones de todos los trabajos. |
creator_user_name |
STRING |
Nombre de usuario del creador. Este campo no se incluirá en la respuesta si ya se ha eliminado el usuario. |
number_in_job |
INT64 |
Número de secuencia de esta ejecución entre todas las ejecuciones del trabajo. Este valor comienza en 1. |
original_attempt_run_id |
INT64 |
Si esta ejecución es un reintento de un intento de ejecución anterior, este campo contendrá el run_id del intento original; de lo contrario, será igual que el run_id. |
state |
RunState | Estados del resultado y el ciclo de vida de la ejecución. |
schedule |
CronSchedule | Programación cron que desencadenó esta ejecución si la desencadenó el programador periódico. |
task |
JobTask | Tarea realizada que realizó la ejecución, si realizó alguna. |
cluster_spec |
ClusterSpec | Instantánea de la especificación del clúster del trabajo cuando se creó esta ejecución. |
cluster_instance |
ClusterInstance | Clúster que se usó para esta ejecución. Si se especifica que la ejecución use un nuevo clúster, este campo se establecerá una vez que el servicio Jobs haya solicitado un clúster para la ejecución. |
overriding_parameters |
RunParameters | Parámetros usados para esta ejecución. |
start_time |
INT64 |
Hora a la que se inició esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Puede que esta no sea la hora en que se inicia la ejecución de la tarea de trabajo; por ejemplo, si el trabajo está programado para ejecutarse en un nuevo clúster, esta sería la hora en que se emite la llamada de creación del clúster. |
setup_duration |
INT64 |
Tiempo que se tardó en configurar el clúster en milisegundos. En el caso de ejecuciones que se ejecutan en clústeres nuevos, este es el tiempo de creación del clúster; para las ejecuciones que se ejecutan en clústeres existentes, el tiempo será muy corto. |
execution_duration |
INT64 |
Tiempo en milisegundos que se tardó en ejecutar los comandos en el archivo JAR o en el cuaderno hasta que se completaron, hasta que se produjo un error, hasta que se agotó el tiempo de espera, hasta que se cancelaron o hasta que se produjo un error inesperado. |
cleanup_duration |
INT64 |
Tiempo en milisegundos que se tardó en finalizar el clúster y limpiar los artefactos asociados. La duración total de la ejecución es la suma de setup_duration, execution_duration y cleanup_duration. |
end_time |
INT64 |
Hora a la que finalizó esta ejecución en milisegundos (milisegundos desde el 1/1/1970 UTC). Este campo se establecerá en 0 si el trabajo sigue en ejecución. |
trigger |
TriggerType | Tipo de desencadenador que desencadenó esta ejecución. |
run_name |
STRING |
Nombre opcional de la ejecución. El valor predeterminado es Untitled . La longitud máxima permitida es de 4096 bytes en codificación UTF-8. |
run_page_url |
STRING |
Dirección URL de la página de detalles de la ejecución. |
run_type |
STRING |
Tipo de la ejecución. - JOB_RUN : ejecución de trabajo normal. Ejecución que se creó con Ejecutar ahora.- WORKFLOW_RUN : ejecución de flujo de trabajo. Ejecución que se creó con dbutils.notebook.run.- SUBMIT_RUN : ejecución de envío. Ejecución que se creó con Ejecutar ahora. |
attempt_number |
INT32 |
Número de secuencia de este intento de ejecución para una ejecución de trabajo desencadenada. El intento inicial de ejecución tiene un attempt_number de 0. Si se produce un error en el intento de ejecución inicial y el trabajo tiene una directiva de reintentos (max_retries > 0), las ejecuciones posteriores se crearán con un original_attempt_run_id del identificador del intento original y un incremento de attempt_number . Las ejecuciones solo se reintenta hasta que se ejecutan correctamente y el attempt_number máximo sea igual al valor max_retries del trabajo. |
RunJobTask
Nombre del campo | Tipo | Descripción |
---|---|---|
job_id |
INT32 |
Identificador único del trabajo a ejecutar. Este campo es obligatorio. |
RunLifeCycleState
Estado del ciclo de vida de una ejecución. Las transiciones de estado permitidas son las siguientes:
QUEUED
->PENDING
PENDING
->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
State | Descripción |
---|---|
QUEUED |
La ejecución se ha desencadenado, pero se pone en cola porque alcanzó uno de los límites siguientes: - Número máximo de ejecuciones activas simultáneas en el área de trabajo. - La tarea simultánea máxima Run Job se ejecuta en el área de trabajo.- Número máximo de ejecuciones simultáneas del trabajo. 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 activa. Este estado es terminal. |
INTERNAL_ERROR |
Estado excepcional que indica un error en el servicio Jobs, como, por ejemplo, un error de red durante un largo período. Si una ejecución de un nuevo clúster finaliza con el estado INTERNAL_ERROR , el servicio Jobs cerrará el clúster lo antes posible. Este estado es terminal. |
RunParameters
Parámetros para esta ejecución. Solo se debe especificar un jar_params, python_params
o notebook_params en la solicitud run-now
, en función del tipo de tarea de trabajo.
Los trabajos con la tarea JAR de Spark o la tarea de Python toman una lista de parámetros basados en la posición y los trabajos con tareas de cuaderno toman una asignación de valores clave.
Nombre del campo | Tipo | Descripción |
---|---|---|
jar_params |
Matriz de objetos STRING . |
Lista de parámetros para trabajos con tareas JAR de Spark, por ejemplo, "jar_params": ["john doe", "35"] . Los parámetros se usarán para invocar la función main de la clase principal especificada en la tarea JAR de Spark. Si no se especifica en run-now , el valor predeterminado será una lista vacía. jar_params no se puede especificar junto con notebook_params. La representación JSON de este campo (es decir, {"jar_params":["john doe","35"]} ) no puede superar los 10 000 bytes.Use ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. |
notebook_params |
Asignación de ParamPair | Asignación de claves a valores para trabajos con tarea de cuaderno, como, por ejemplo,"notebook_params": {"name": "john doe", "age": "35"} . La asignación se pasa al cuaderno y está disponible a través de la función dbutils.widgets.get.Si no se especifica en run-now , la ejecución desencadenada usa los parámetros base del trabajo.notebook_params no se puede especificar junto con jar_params. Use ¿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 |
Matriz de objetos STRING . |
Lista de parámetros para trabajos con tareas Python, por ejemplo, "python_params": ["john doe", "35"] . Los parámetros se pasan al archivo de Python como parámetros de línea de comandos. Si se especificara en run-now , se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo (es decir, {"python_params":["john doe","35"]} ) no puede superar los 10 000 bytes.Use ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. > [! IMPORTANTE] >> Estos parámetros solo aceptan caracteres latinos (juego de caracteres ASCII). > El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII > son los caracteres chinos, los kanjis japoneses y los emojis. |
spark_submit_params |
Matriz de objetos STRING . |
Lista de parámetros para los trabajos con la tarea de envío de Spark, como, por ejemplo,"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . Los parámetros se pasan al script spark-submit como parámetros de línea de comandos. Si se especificara en run-now , se sobrescribirían los parámetros especificados en la configuración del trabajo. La representación JSON de este campo (es decir, {"python_params":["john doe","35"]} ) no puede superar los 10 000 bytes.Use ¿Qué es una referencia de valor dinámico? para establecer parámetros que contengan información sobre las ejecuciones de trabajos. > [! IMPORTANTE] >> Estos parámetros solo aceptan caracteres latinos (juego de caracteres ASCII). > El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII > son los caracteres chinos, los kanjis japoneses y los emojis. |
RunResultState
Estado de resultado de la ejecución.
- Si
life_cycle_state
=TERMINATED
: si la ejecución tenía una tarea, se garantiza que el resultado estará disponible e indica el resultado de la tarea. - Si
life_cycle_state
=PENDING
,RUNNING
oSKIPPED
, el estado del resultado no está disponible. - Si
life_cycle_state
=TERMINATING
o lifecyclestate =INTERNAL_ERROR
: el estado de resultado está disponible si la ejecución tenía una tarea y se administró para iniciarla.
Una vez que está disponible, el estado del resultado nunca cambia.
State | Descripción |
---|---|
SUCCESS |
La tarea se completó correctamente. |
FAILED |
La tarea finalizó con errores. |
TIMEDOUT |
La ejecución se detuvo después de agotar el tiempo de espera. |
CANCELED |
La ejecución se canceló a petición del usuario. |
RunState
Nombre del campo | Tipo | Descripción |
---|---|---|
life_cycle_state |
RunLifeCycleState | Descripción de la ubicación actual de una ejecución en el ciclo de vida de la ejecución. Este campo siempre está disponible en la respuesta. |
result_state |
RunResultState | Estado de resultado de la ejecución. Si no está disponible, la respuesta no incluirá este campo. Consulte RunResultState para obtener más información sobre la disponibilidad de result_state. |
user_cancelled_or_timedout |
BOOLEAN |
Indica si un usuario o el programador cancelaron manualmente una ejecución porque se produjo un tiempo de espera. |
state_message |
STRING |
Mensaje descriptivo del estado actual. Este campo no está estructurado y su formato exacto está sujeto a cambios. |
SparkConfPair
Pares clave-valor de configuración de Spark.
Tipo | Descripción |
---|---|
STRING |
Nombre de propiedad de configuración. |
STRING |
Valor de propiedad de configuración. |
SparkEnvPair
Pares clave-valor de variable de entorno de Spark.
Importante
Al especificar variables de entorno en un clúster de trabajos, los campos de esta estructura de datos solo aceptan caracteres latinos (juego de caracteres ASCII). El uso de caracteres que no sean ASCII devolverá un error. Algunos ejemplos de caracteres no válidos y que no son ASCII son los caracteres chinos, los kanjis japoneses y los emojis.
Tipo | Descripción |
---|---|
STRING |
Nombre de la variable de entorno |
STRING |
Valor de la variable de entorno. |
SparkJarTask
Nombre del campo | Tipo | Descripción |
---|---|---|
jar_uri |
STRING |
En desuso desde abril de 2016. En su lugar, proporcione un archivo jar a través del campo libraries . Para obtener un ejemplo, consulte Create. |
main_class_name |
STRING |
Nombre completo de la clase que incluye el método principal que se va a ejecutar. Esta clase debe estar contenida en un archivo JAR que se proporciona como una biblioteca. El código debe usar SparkContext.getOrCreate para obtener un contexto de Spark; de lo contrario, se producirá un error en las ejecuciones del trabajo. |
parameters |
Matriz de objetos STRING . |
Parámetros que se pasaron al método principal. Use ¿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 |
Matriz de objetos 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,
libraries
yspark_conf
no se admiten. En su lugar, use--jars
y--py-files
para agregar bibliotecas de Java y Python, y--conf
para establecer la configuración de Spark. - Azure Databricks configura automáticamente
master
,deploy-mode
yexecutor-cores
; estos valores no se pueden especificar en parámetros. - De forma predeterminada, el trabajo de envío de Spark usa toda la memoria disponible (excepto la memoria reservada para los servicios de Azure Databricks). Puede establecer
--driver-memory
y--executor-memory
con un valor más bajo para dejar espacio para el uso fuera del montón. - Los argumentos
--jars
,--py-files
y--files
admiten rutas de acceso de DBFS.
Por ejemplo, suponiendo que el archivo JAR se cargue en DBFS, puede establecer los parámetros siguientes para ejecutar SparkPi
.
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
Nombre del campo | Tipo | Descripción |
---|---|---|
parameters |
Matriz de objetos STRING . |
Parámetros de línea de comandos que se pasan al envío de Spark. Use ¿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 desencadenadores que pueden desencadenar una ejecución.
Tipo | Descripción |
---|---|
PERIODIC |
Programaciones que desencadenan periódicamente ejecuciones, como, por ejemplo, un programador cron. |
ONE_TIME |
Desencadenadores puntuales que desencadenan una sola ejecución. Esto ocurre cuando se desencadena una única ejecución a petición a través de la interfaz de usuario o la API. |
RETRY |
Indica una ejecución que se desencadena como un reintento de una ejecución que produjo errores previamente. Esto sucede cuando se solicita volver a ejecutar el trabajo en caso de error. |
ViewItem
El contenido exportado está en formato HTML. Por ejemplo, si la vista que se va a exportar es de paneles, se devuelve una cadena HTML para cada panel.
Nombre del campo | Tipo | Descripción |
---|---|---|
content |
STRING |
Contenido de la vista. |
name |
STRING |
Nombre del elemento de vista. En el caso de la vista de código, se trata del nombre del cuaderno. En el caso de la vista de panel, se trata del nombre del panel. |
type |
ViewType | Tipo del elemento de vista. |
ViewType
Tipo | Descripción |
---|---|
NOTEBOOK |
Elemento de vista de cuaderno. |
DASHBOARD |
Elemento de vista de panel. |
ViewsToExport
Vista que se va a exportar: puede ser código, todos los paneles o todo.
Tipo | Descripción |
---|---|
CODE |
Vista de código del cuaderno. |
DASHBOARDS |
Todas las vistas de panel del cuaderno. |
ALL |
Todas las vistas del cuaderno. |
WebHook
Nombre del campo | Tipo | Descripción |
---|---|---|
id |
STRING |
Identificador que hace referencia a un destino de notificación del sistema. Este campo es obligatorio. |
WebhookNotifications
Nombre del campo | Tipo | Descripción |
---|---|---|
on_start |
Matriz de Webhook | Una lista opcional de destinos del sistema a los que notificar el inicio de una ejecución. Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_start . |
on_success |
Matriz de Webhook | Una lista opcional de destinos del sistema a los que notificar cuando una ejecución finaliza con éxito. Se considera que una ejecución se ha completado correctamente si finaliza con un TERMINATED life_cycle_state y un SUCCESSFUL result_state . Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la propiedad on_success . |
on_failure |
Matriz de Webhook | Una lista opcional de destinos del sistema que deben ser notificados cuando una ejecución finaliza sin éxito. Se considera que una ejecución no se ha completado incorrectamente si termina con el estado INTERNAL_ERROR life_cycle_state o un SKIPPED , FAILED , o TIMED_OUT result_state . Si no se especifica en la creación, el restablecimiento o la actualización del trabajo, la lista estará vacía y no se enviarán notificaciones. Se puede especificar un máximo de 3 destinos para la on_failure propiedad. |
on_duration_warning_threshold_exceeded |
Matriz de Webhook | Una lista opcional de destinos del sistema a los que se notificará cuando la duración de una ejecución supere el umbral especificado para la RUN_DURATION_SECONDS métricahealth en el campo. Se puede especificar un máximo de 3 destinos para la propiedad on_duration_warning_threshold_exceeded . |
WorkspaceStorageInfo
Información de almacenamiento del área de trabajo.
Nombre del campo | Tipo | Descripción |
---|---|---|
destination |
STRING |
Destino del archivo. Ejemplo: /Users/someone@domain.com/init_script.sh |