Ejecutar trabajos según una programación o continuamente

Puede ejecutar un trabajo de Azure Databricks periódicamente con el tipo de desencadenador Programado o asegurarse de que siempre haya una ejecución activa del trabajo con el tipo de desencadenador Continuo.

Puede usar una programación para ejecutar automáticamente el trabajo de Azure Databricks en horas y períodos especificados. Puede definir una programación para ejecutar un trabajo en períodos de minutos, horas, diariamente, semanalmente o mensualmente y a horas especificadas. También puede especificar una zona horaria para la programación y pausar un trabajo programado en cualquier momento.

Al ejecutar el trabajo con el desencadenador continuo, Azure Databricks Jobs garantiza que siempre haya una ejecución activa del trabajo. Una nueva ejecución de trabajo se inicia después de que la ejecución anterior se complete correctamente o con un estado de error, o si no hay ninguna instancia del trabajo actualmente en ejecución.

Agregar una programación de trabajo

Para definir una programación para el trabajo:

  1. En la barra lateral, haga clic en Áreas de trabajo.
  2. En la columna Nombre de la pestaña Trabajos, haga clic en el nombre del trabajo.
  3. Haga clic en Agregar desencadenador en el panel Detalles del trabajo y seleccione Programado en Tipo de desencadenador.
  4. Especifique el período, la hora de inicio y la zona horaria. Opcionalmente, active la casilla Show Cron Syntax (Mostrar sintaxis de cron) para mostrar y editar la programación en Quartz Cron Syntax (Sintaxis Quartz de cron).
  5. Haga clic en Save(Guardar).

También puede programar un trabajo de cuaderno directamente en la interfaz de usuario del cuaderno.

Nota:

  • Azure Databricks exige un intervalo mínimo de 10 segundos entre ejecuciones posteriores desencadenadas por la programación de un trabajo independientemente de la configuración de segundos en la expresión cron.
  • Puede elegir una zona horaria que tenga en cuenta el horario de verano o UTC. Si selecciona una zona horaria que tenga en cuenta el horario de verano, se omitirá un trabajo por hora o podría parecer que se retrasa durante una o dos horas, cuando comience o finalice el horario de verano. Para ejecutar cada hora (hora absoluta), elija UTC.
  • El programador de trabajos no está pensado para trabajos de baja latencia. Las ejecuciones de trabajos pueden retrasarse ocasionalmente hasta varios minutos debido a problemas de red o de la nube. En estas situaciones, los trabajos programados se ejecutarán inmediatamente después de que el servicio vuelva a estar disponible.

Pausar y reanudar una programación de trabajo

Para pausar un trabajo, haga clic en Pausar en el panel Detalles del trabajo.

Para reanudar una programación de trabajo en pausa, haga clic en Reanudar.

Ejecución de un trabajo continuo

  1. En la barra lateral, haga clic en Áreas de trabajo.
  2. En la columna Nombre de la pestaña Trabajos, haga clic en el nombre del trabajo.
  3. Haga clic en Agregar desencadenador en el panel Detalles del trabajo, haga clic en Agregar desencadenador en el panel Detalles del trabajo, seleccione Continuo en Tipo de desencadenador y haga clic en Guardar.

Para detener un trabajo continuo, haga clic en Blue Down Caret junto a Ejecutar ahora y haga clic en Detener.

Nota:

  • Solo puede haber una instancia en ejecución de un trabajo continuo.
  • Hay un pequeño retraso entre la finalización de una ejecución y un nuevo inicio de ejecución. Este retraso debe ser inferior a 60 segundos.
  • No se pueden usar dependencias de tareas con un trabajo continuo.
  • No puede usar directivas de reintento con un trabajo continuo. En su lugar, los trabajos continuos usan el retroceso exponencial para administrar los errores de ejecución del trabajo.
  • Al seleccionar Ejecutar ahora en un trabajo continuo que está en pausa, se desencadena una nueva ejecución de trabajo. Si el trabajo no se ha pausado, se produce una excepción.
  • Para que el trabajo continuo seleccione una nueva configuración de trabajo, cancele la ejecución existente y a continuación, inicie automáticamente una nueva ejecución. También puede hacer clic en Reiniciar ejecución para reiniciar la ejecución del trabajo con la configuración actualizada.

¿Cómo se controlan los errores de los trabajos continuos?

Azure Databricks Jobs usa un esquema de retroceso exponencial para administrar trabajos continuos con varios errores consecutivos. El retroceso exponencial permite que los trabajos continuos se ejecuten sin pausa y vuelvan a un estado correcto cuando se produzcan errores recuperables.

Cuando un trabajo continuo supera el umbral permitido de errores consecutivos, a continuación se describe cómo se administran las ejecuciones de trabajos posteriores:

  1. El trabajo se reinicia después de un período de reintento establecido por el sistema.
  2. Si se produce un error en la siguiente ejecución del trabajo, se aumenta el período de reintento y el trabajo se reinicia después de este nuevo período de reintento.
    1. Para cada error de ejecución de trabajo posterior, el período de reintento se vuelve a aumentar hasta un período máximo de reintento establecido por el sistema. Después de alcanzar el período máximo de reintentos, el trabajo continúa reintentándose mediante el período máximo de reintento. No hay ningún límite en el número de reintentos de un trabajo continuo.
    2. Si la ejecución del trabajo se completa correctamente e inicia una nueva ejecución o si la ejecución supera un umbral sin error, el trabajo se considera correcto y la secuencia de retroceso se restablece.

Puede reiniciar un trabajo continuo en el estado de retroceso exponencial en la Interfaz de usuario de Jobs o pasando el id. de trabajo a la solicitud POST /api/2.1/jobs/run-now en la API Jobs 2.1 o POST /api/2.0/jobs/run-now en la API Jobs 2.0.