Gestionar actualizaciones para canalizaciones continuas

Una canalización continua se ejecuta sin interrupción, por lo que Azure Databricks no puede esperar a que finalice antes de aplicar actualizaciones de la plataforma, como nuevas versiones del entorno de ejecución o tareas de mantenimiento de la infraestructura. Para aplicar estas actualizaciones, Azure Databricks reinicia la canalización. Una ventana de mantenimiento te permite controlar cuándo se reinician esos reinicios: seleccionas un día de la semana, una hora de inicio y una zona horaria, y Azure Databricks comienza el mantenimiento solo dentro de esa ventana.

La ventana de mantenimiento es una configuración del trabajo continuo que ejecuta la canalización. Si no configuras ninguno, el mantenimiento puede ejecutarse en cualquier momento.

Cómo aplica Azure Databricks las actualizaciones

Para actualizar una pipeline continua, Azure Databricks inicia una nueva actualización de pipeline en un clúster nuevo y cierra la anterior. Como las canalizaciones continuas siguen su progreso en un punto de control de streaming, la nueva actualización reanuda desde donde la anterior lo dejó. El procesamiento de datos se pausa brevemente durante el intercambio y luego continúa sin perder datos.

Azure Databricks comienza el mantenimiento solo dentro de una ventana de una hora que comienza en la hora de inicio del día que selecciones. El reinicio en sí suele ser corto.

Selecciona un día y una hora de inicio en la que un breve reinicio sea adecuado para tu carga de trabajo.

¿Qué actualizaciones se incluyen?

El mantenimiento de una tubería continua puede incluir:

  • Actualizaciones de versiones en tiempo de ejecución de Databricks
  • Revisiones y actualizaciones de seguridad
  • Actualizaciones del sistema operativo
  • Características y mejoras de Spark Declarative Pipelines en Lakeflow
  • Mantenimiento de infraestructura sin servidor, como el reciclaje periódico de clústeres sin servidor de larga duración

Tanto las actualizaciones en tiempo de ejecución (actualizaciones de servicio) como el mantenimiento de infraestructura serverless respetan la ventana de mantenimiento que configures.

Importante

Los clústeres serverless tienen una vida útil máxima. Si ese límite se alcanza antes de tu próxima ventana de mantenimiento, Azure Databricks reinicia la tubería para mantenerse dentro del límite, incluso si el tiempo actual está fuera de tu ventana. Esto garantiza que un canal de trabajo de larga duración se recicle finalmente.

¿Con qué frecuencia se aplican las actualizaciones?

Azure Databricks aplica una actualización solo cuando se necesita mantenimiento. Se lanzan periódicamente nuevas versiones en tiempo de ejecución y el mantenimiento de la infraestructura serverless se realiza de forma recurrente. La frecuencia con la que se reinicia cada pipeline depende de:

  • La cadencia de las nuevas versiones de Databricks Runtime aplicables a tu canalización
  • Para las canalizaciones sin servidor, la programación de reciclaje del clúster sin servidor
  • Con qué frecuencia tiene lugar la ventana de mantenimiento

Cuando llega tu ventana de mantenimiento y no hay ninguna actualización pendiente, la ventana pasa sin reinicio.

Configurar una ventana de mantenimiento

Puedes configurar una ventana de mantenimiento en la interfaz de Azure Databricks o con la API REST de Jobs.

Una ventana de mantenimiento tiene tres partes necesarias:

Setting Descripción
Día de la semana Un solo día, de lunes a domingo.
Hora de inicio La hora a la que empieza la ventana, como número entero entre 0 y 23, en formato de 24 horas.
Zona horaria Un ID de zona horaria en Java, como America/New_York. Azure Databricks evalúa la ventana en esta zona horaria.

Nota:

Las ventanas de mantenimiento solo se aplican a trabajos y tuberías continuas. La configuración no está disponible para trabajos que se ejecutan con un horario o un tipo de disparador diferente.

Configura una ventana de mantenimiento en la interfaz

Puedes configurar una ventana de mantenimiento desde la interfaz de trabajos o la interfaz de pipelines.

De la interfaz de empleos

  1. En la barra lateral de tu espacio de trabajo de Azure Databricks, haz clic en el icono de Flujos de trabajo.Trabajos y Canalizaciones.
  2. Haz clic en el nombre del trabajo.
  3. En el panel de detalles del puesto , abre el disparador Continuo y expande Avanzado para encontrar la ventana de Mantenimiento.
  4. Selecciona un día de la semana, una hora de inicio y un husto horario.
  5. Haz clic en Guardar.

Desde la interfaz de Pipelines

  1. En la barra lateral de tu espacio de trabajo de Azure Databricks, haz clic en el icono de Flujos de trabajo.Trabajos y Canalizaciones.
  2. Haz clic en el nombre del oleoducto.
  3. Abre Horario y amplía Configuración avanzada para encontrar la ventana de Mantenimiento.
  4. Selecciona un día de la semana, una hora de inicio y un husto horario.
  5. Haz clic en Guardar.

Configura una ventana de mantenimiento con la API de Jobs

Establece el maintenance_window campo dentro de la continuous configuración cuando crees o actualices un trabajo con la API REST de Jobs. El siguiente ejemplo configura el mantenimiento para que comience a las 2 de la madrugada, hora del Este, los martes:

{
  "continuous": {
    "pause_status": "UNPAUSED",
    "maintenance_window": {
      "start_hour": 2,
      "day_of_week": "TUESDAY",
      "timezone_id": "America/New_York"
    }
  }
}

Los tres campos (start_hour, day_of_week, y timezone_id) son necesarios cuando se establece una ventana de mantenimiento. start_hour debe ser un entero de 0 a 23.

Configurar notificaciones de mantenimiento

Azure Databricks puede notificarte cuando empieza y termina un reinicio de mantenimiento. Las notificaciones de mantenimiento utilizan el sistema estándar de notificaciones de Lakeflow Jobs, por lo que puedes enviarlas a direcciones de correo electrónico o a destinos del sistema como Slack, PagerDuty o Microsoft Teams. Consulte Incorporación de notificaciones en un trabajo.

Hay dos eventos disponibles en un trabajo continuo:

  • Inicio de mantenimiento: enviado cuando comienza un reinicio de mantenimiento. Incluye el trabajo, la causa (por ejemplo, una mejora del servicio) y la hora de inicio.
  • Mantenimiento completado: enviado cuando termine el reinicio. Incluye la causa, el tiempo de finalización, la duración del reinicio y el estado de la tubería tras el reinicio.

Transiciones en el horario de verano

Azure Databricks evalúa la ventana de mantenimiento en la zona horaria que configuras, así que la ventana sigue las transiciones de horario de verano de esa zona. La mayoría de los días, la ventana comienza a la hora local configurada por ti. En el día que cambian los relojes, el inicio puede desplazarse hasta una hora. Selecciona una zona horaria que coincida con tu horario de operación.

Gestionar las interrupciones durante las actualizaciones

Un reinicio de mantenimiento pausa el procesamiento de datos mientras la nueva actualización toma el control. Las fuentes de streaming siguen acumulando datos durante la pausa, y la nueva actualización se reanuda desde el punto de control de la canalización, por lo que no se pierde ningún dato.

Si tu pipeline tiene requisitos estrictos de latencia, selecciona una ventana de mantenimiento durante un periodo en el que una breve pausa sea aceptable. Para confirmar que la canalización ha vuelto a un estado correcto tras un reinicio, supervisa la notificación Mantenimiento completado.