Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsqu’une mise à jour de pipeline s’exécute, elle actualise les vues matérialisées et les tables de streaming définies dans le pipeline afin que leurs résultats reflètent l’état actuel des données sources. La façon dont un jeu de données est actualisé dépend de son type et du type d’actualisation. Pour savoir comment déclencher et gérer des mises à jour, consultez Exécuter une mise à jour de pipeline.
Types d'actualisation
Par défaut, chaque vue matérialisée et table de streaming d’un pipeline est actualisée à chaque mise à jour. Le tableau suivant résume le comportement de chaque type d’actualisation :
| Type de mise à jour | Vue matérialisée | Table de diffusion en continu |
|---|---|---|
| Actualiser (par défaut) | Met à jour les résultats pour refléter les résultats actuels de la requête de définition. Azure Databricks examine le coût et effectue une actualisation incrémentielle lorsqu’elle est plus efficace. | Traite de nouveaux enregistrements par le biais de la logique définie dans les tables et flux de streaming. |
| Actualisation complète | Recompute les résultats pour refléter les résultats actuels de la requête de définition. | Efface les données des tables de diffusion en continu, efface les points de contrôle des flux et retraite tous les enregistrements de la source de données. |
| Réinitialiser les points de contrôle de flux de streaming | Non applicable aux vues matérialisées. | Efface les points de contrôle des flux, mais n’efface pas les données des tables de diffusion en continu, puis retraite tous les enregistrements de la source de données. |
Actualiser (par défaut)
Une actualisation par défaut met à jour un jeu de données pour refléter les résultats actuels de sa requête de définition.
Les tables de streaming sont par nature incrémentielles. Une actualisation de la table de diffusion en continu évalue uniquement les enregistrements arrivés depuis la dernière mise à jour et les ajoute, à l’aide de la définition actuelle de la table. Les enregistrements plus anciens ne sont pas traités, de sorte que les modifications qui affectent les données déjà écrites ne sont pas appliquées. En d’autres termes, l’actualisation par défaut d’une table de diffusion en continu se fait au détriment de l’exactitude des données afin de réduire les coûts en temps et en ressources. Pour retraiter les données plus anciennes, exécutez une actualisation complète ou réinitialisez les points de contrôle de flux.
Les vues matérialisées tentent une actualisation incrémentielle, mais retraitent tous les enregistrements si nécessaire pour maintenir la table entièrement précise. Une vue matérialisée est actualisée à l’aide de l’une des deux méthodes suivantes :
- L’actualisation incrémentielle identifie les modifications depuis la dernière mise à jour et fusionne uniquement les données nouvelles ou modifiées.
- L’actualisation complète exécute l’intégralité de la requête et remplace les données existantes lorsqu’une actualisation incrémentielle n’est pas possible ou n’est pas rentable.
Par défaut, Azure Databricks utilise un modèle de coût pour choisir la méthode plus rentable. Vous pouvez remplacer ce choix par une stratégie d’actualisation. Pour connaître la sémantique, les exigences et la prise en charge de SQL pour l’actualisation incrémentielle, consultez Actualisation incrémentielle pour les vues matérialisées.
Actualisation complète
Une actualisation complète retraite tous les enregistrements des données sources par le biais de la logique qui définit le jeu de données :
- Pour une vue matérialisée, une actualisation complète recompute l’intégralité du résultat. Étant donné que les vues matérialisées retournent toujours le même résultat qu’une requête par lots, une actualisation par défaut et une actualisation complète produisent des données identiques.
- Pour une table de streaming, une actualisation complète tronque la table, efface les points de contrôle de streaming de ses flux et traite à nouveau chaque enregistrement provenant de la source.
Étant donné qu’une actualisation complète retraite toutes les données source, le temps et le coût augmentent en fonction de la taille de ces données. Databricks recommande d’exécuter une actualisation complète uniquement si nécessaire, par exemple quand une définition ou une modification de schéma n’est pas compatible avec les données existantes. Une actualisation complète d’une table de diffusion en continu peut supprimer les enregistrements si la source ne conserve plus les données d’origine, par exemple une rubrique Kafka passée sa fenêtre de rétention.
Pour savoir quand et comment exécuter une actualisation complète d’une table de diffusion en continu, consultez Actualisation complète pour les tables de diffusion en continu.
Réinitialiser les points de contrôle
La réinitialisation des points de contrôle s’applique uniquement aux tables de diffusion en continu. Il efface les points de contrôle de diffusion en continu pour les flux sélectionnés sans effacer les données déjà écrites dans la table de diffusion en continu, puis retraite tous les enregistrements de la source via ces flux. Contrairement à une actualisation complète, les données de table existantes sont conservées.
Utilisez cette option lorsque vous souhaitez retraiter une source de diffusion en continu pour les flux sélectionnés, par exemple après avoir modifié la logique d’un flux, sans tronquer la table.
La réinitialisation des points de contrôle est déclenchée via l’API REST Lakeflow Spark Declarative Pipelines. Pour connaître les étapes, consultez Démarrer une mise à jour de pipeline pour effacer les points de contrôle des flux de streaming sélectifs.