Partager via


Ingestion de streaming et changements de schéma

Les nœuds de cluster mettez en cache le schéma des bases de données qui obtiennent des données via l’ingestion en streaming, ce qui améliore les performances et l’utilisation des ressources. Toutefois, lorsqu’il y a des modifications de schéma, cela peut entraîner des retards dans les mises à jour.

Si les modifications de schéma et l’ingestion en streaming ne sont pas synchronisées, vous pouvez rencontrer des échecs tels que des erreurs liées au schéma ou des données incomplètes et déformées dans la table.

Cet article décrit les modifications de schéma classiques et fournit des conseils pour éviter les problèmes d’ingestion en streaming pendant ces modifications.

Modifications du schéma

La liste suivante présente des exemples clés de modifications de schéma :

Modifications de schéma de coordonnées avec l’ingestion en streaming

Le cache de schéma est conservé pendant que le cluster est en ligne. En cas de modifications de schéma, le système actualise automatiquement le cache, mais cette actualisation peut prendre plusieurs minutes. Si vous comptez sur l’actualisation automatique, vous pouvez rencontrer des échecs d’ingestion non coordonnés.

Vous pouvez réduire les effets du retard de propagation en effaçant explicitement le cache de schéma sur les nœuds du cluster. Si le flux d’ingestion en streaming et les modifications de schéma sont coordonnés, vous pouvez éliminer complètement les défaillances et la distorsion des données associée.

Pour coordonner le flux d’ingestion de streaming avec les modifications de schéma :

  1. Suspendez l’ingestion en streaming.
  2. Attendez que toutes les demandes d’ingestion de streaming en cours soient terminées.
  3. Modifiez le schéma.
  4. Émettez une ou plusieurs commandes de schéma d’ingestion de streaming de cache .clear .
    • Répétez cette opération jusqu’à ce que toutes les lignes de la sortie de la commande indiquent la réussite
  5. Reprendre l’ingestion en streaming.

Notes

Si vous avez créé une application pour l’ingestion personnalisée, nous vous recommandons de gérer les échecs liés au schéma en effectuant une nouvelle tentative pendant une durée définie ou en redirigeant les données des demandes ayant échoué à l’aide de méthodes d’ingestion mises en file d’attente.