Gérer les mises à jour des pipelines continus
Un pipeline continu s’exécute sans s’arrêter. Par conséquent, Databricks ne peut pas attendre qu’il se termine avant d’appliquer des mises à jour de la plateforme, telles que de nouvelles versions du runtime ou la maintenance de l’infrastructure. Pour appliquer ces mises à jour, Databricks redémarre le pipeline. Une fenêtre de maintenance vous permet de contrôler le moment où ces redémarrages ont lieu : vous sélectionnez un jour de la semaine, une heure de start et un fuseau horaire, et Databricks lance la maintenance uniquement pendant cette fenêtre.
La fenêtre de maintenance est un paramètre du job continu qui exécute le pipeline. Si vous n’en définissez pas, la maintenance peut s’exécuter à tout moment.
Comment Databricks applique les mises à jour
Pour mettre à jour un pipeline continu, Databricks lance une nouvelle mise à jour du pipeline sur un nouveau cluster et arrête le précédent. Étant donné que les pipelines continus suivent leur progression dans un point de contrôle de streaming, la nouvelle mise à jour reprend là où la précédente s’était arrêtée. Le traitement des données s'interrompt brièvement lors du basculement, puis se poursuit sans perte de données.
Databricks lance la maintenance uniquement dans une fenêtre d’une heure qui commence à l’heure de début (« start ») le jour que vous sélectionnez. Le redémarrage en lui-même est généralement court.
Sélectionnez un jour et une heure de start où un bref redémarrage est acceptable pour votre charge de travail.
Quelles sont les mises à jour incluses ?
La maintenance d'un pipeline continu peut inclure :
- Mises à niveau de la version de Databricks Runtime
- Correctifs et mises à jour de sécurité
- Mises à jour du système d'exploitation
- Fonctionnalités et améliorations de Spark Declarative Pipelines sur Lakeflow
- Maintenance de l’infrastructure Serverless, telle que le recyclage périodique des clusters Serverless de longue durée
Les mises à niveau du runtime ( mises à niveau de service ) et la maintenance de l’infrastructure Serverless respectent la fenêtre de maintenance que vous configurez.
Les clusters Serverless ont une durée de vie maximale. Si cette limite est atteinte avant votre prochaine fenêtre de maintenance, Databricks redémarre le pipeline pour rester dans la limite, même si l’heure actuelle se trouve en dehors de votre fenêtre. Cela garantit qu’un pipeline à exécution longue finit par être recyclé.
À quelle fréquence les mises à jour sont-elles appliquées ?
Databricks applique une mise à jour uniquement lorsque cela est nécessaire. De nouvelles versions du runtime sont publiées périodiquement et la maintenance de l’infrastructure Serverless s’effectue de manière régulière. La fréquence de redémarrage d’un pipeline individuel dépend des éléments suivants :
- La cadence des nouvelles versions de Databricks Runtime qui s’appliquent à votre pipeline
- Pour les pipelines serverless, le calendrier de recyclage des clusters serverless
- La fréquence à laquelle se produit votre fenêtre de maintenance
Lorsque votre fenêtre de maintenance arrive et qu'aucune mise à jour n'est en attente, la fenêtre s'écoule sans redémarrage.
Configurez une fenêtre de maintenance
Vous pouvez définir une fenêtre de maintenance dans l’interface utilisateur de Databricks ou avec l’API REST Jobs.
Une fenêtre de maintenance comporte trois parties obligatoires :
Paramètre | Description |
|---|---|
Jour de la semaine | Un seul jour, du lundi au dimanche. |
Start hour | L’heure à laquelle la fenêtre start, sous forme de nombre entier de |
Fuseau horaire | Un identifiant de fuseau horaire Java (« Java time zone ID »), tel que |
Les fenêtres de maintenance s’appliquent uniquement aux jobs continus et aux pipelines. Ce paramètre n’est pas disponible pour les jobs qui s’exécutent selon une planification ou un autre type de trigger.
Configurer une fenêtre de maintenance dans l’IU
Vous pouvez configurer une fenêtre de maintenance à partir de l'interface utilisateur des jobs ou de l'interface utilisateur des pipelines.
Depuis l’interface utilisateur des Jobs
- Dans la barre latérale de votre workspace Databricks, cliquez sur
Jobs & Pipelines .
- Cliquez sur le nom du job.
- Dans le volet Job details , ouvrez le trigger Continuous et développez Advanced pour trouver Maintenance window .
- Sélectionnez un jour de la semaine, une heure de start et un fuseau horaire.
- Cliquez sur Save .
À partir de l’interface utilisateur des pipelines
- Dans la barre latérale de votre workspace Databricks, cliquez sur
Jobs & Pipelines .
- Cliquez sur le nom du pipeline.
- Ouvrez Schedule et développez Advanced settings pour trouver Maintenance window .
- Sélectionnez un jour de la semaine, une heure de start et un fuseau horaire.
- Cliquez sur Save .
Configurer une fenêtre de maintenance avec l’API Jobs
Définissez le champ maintenance_window dans les paramètres continuous lorsque vous créez ou mettez à jour un job avec l’ API REST Jobs. L’exemple suivant configure la maintenance pour qu’elle start à 2 h 00 min 00 s heure de l’Est le mardi :
{
"continuous": {
"pause_status": "UNPAUSED",
"maintenance_window": {
"start_hour": 2,
"day_of_week": "TUESDAY",
"timezone_id": "America/New_York"
}
}
}
Les trois champs (start_hour, day_of_week et timezone_id) sont obligatoires lorsque vous définissez une fenêtre de maintenance. start_hour doit être un nombre entier compris entre 0 et 23.
Configurer les notifications de maintenance
Databricks peut vous avertir lorsqu’un redémarrage de maintenance start et lorsqu’il se termine. Les notifications de maintenance utilisent le système de notification standard Lakeflow Jobs ; vous pouvez ainsi les envoyer à des adresses e-mail ou à des destinations système telles que Slack, PagerDuty ou Microsoft Teams. Voir Ajouter des notifications sur un job.
Deux événements sont disponibles sur un job continu :
- Maintenance start : envoyé lorsqu’un redémarrage pour maintenance commence. Inclut le Job, la cause (par exemple, une mise à niveau de service) et l’heure de start.
- Maintenance terminée : envoyé lorsque le redémarrage se termine. Comprend la cause, l’heure de fin, la durée du redémarrage et l’état du pipeline après le redémarrage.
Transitions vers l’heure d’été
Databricks évalue la fenêtre de maintenance dans le fuseau horaire que vous configurez, de sorte que la fenêtre suit les transitions vers l’heure d’été de ce fuseau. La plupart du temps, la fenêtre start à votre heure locale configurée. Le jour du changement d’heure, le start peut être décalé d’une heure au plus. Sélectionnez un fuseau horaire qui correspond à votre calendrier d’exploitation.
Gérer les disruptions lors des mises à jour
Un redémarrage de maintenance suspend le traitement des données pendant que la nouvelle mise à jour prend le relais. Les sources de streaming continuent d’accumuler des données pendant la pause, et la nouvelle mise à jour reprend à partir du point de contrôle du pipeline, de sorte qu’aucune donnée n’est perdue.
Si votre pipeline présente des exigences strictes en matière de latence, sélectionnez une fenêtre de maintenance pendant une période où une brève interruption est acceptable. Pour confirmer que le pipeline a retrouvé un état sain après un redémarrage, surveillez la notification Maintenance terminée .