Résolution des problèmes liés à l’absence, à la lenteur ou à l’échec de l’actualisation des tables dynamiques

Ce sujet vous aide à résoudre les problèmes liés à l’absence, à la lenteur ou à l’échec des actualisations.

Lors de la surveillance de l’actualisation de votre table dynamique, notez ce qui suit :

Actualisations manquées

Les tables dynamiques sont actualisées selon une planification. Lorsqu’une actualisation planifiée démarre, les situations suivantes peuvent entraîner l’interruption de l’actualisation :

  • Si la table dynamique en cours d’actualisation a une autre table dynamique en amont et que l’actualisation de la table en amont a échoué ou a été ignorée.

  • Si une actualisation précédente de la table dynamique est toujours en cours.

  • Si l’actualisation de la table dynamique prend souvent plus de temps que la latence cible ou s’il y a une différence significative entre le délai cible et le délai réel, Snowflake peut ignorer une actualisation pour réduire le taux d’omission futures.

    Par exemple, si une table dynamique a une latence cible d’une minute mais qu’il faut généralement une heure pour l’actualiser, le système ajuste la « latence réelle » en conséquence.

Les actualisations manuelles ne sont jamais ignorées, mais elles peuvent entraîner l’omission d’autres actualisations planifiées, en particulier si vous effectuez des actualisations manuelles fréquentes sur une table dynamique. Cela peut empêcher l’actualisation des tables dynamiques en aval. Pour cette raison, Snowflake vous recommande d’éviter d’effectuer fréquemment des actualisations manuelles sur une table dynamique avec des tables dynamiques en aval qui sont censées s’actualiser en fonction d’une latence cible.

Lenteur ou échec des actualisations

Les performances de l’actualisation des tables dynamiques reposent sur des hypothèses spécifiques concernant la charge de travail ou les données qu’elle traite. Les échecs d’actualisation sont généralement dus à des problèmes liés à la définition de la requête de la table dynamique, aux données d’entrée (par exemple, des erreurs d’analyse) ou à des problèmes internes au système.

Pour les actualisations lentes, utilisez la page Historique des actualisations dans Snowsight pour visualiser les modifications et repérer les valeurs aberrantes dans la durée d’actualisation de vos tables dynamiques :

Un exemple d'historique d'actualisation dans Snowsight.

En cas d’échec des actualisations, utilisez la page Refresh History pour déterminer si l’échec de l’actualisation est dû à des mises à jour retardées ou à une incohérence des données. La colonne Source Data Timestamp affiche l’heure mise à jour par la dernière actualisation réussie. Une actualisation en échec ne fait pas avancer cette valeur. Si cette valeur est très en retard par rapport à la latence cible spécifiée, cela indique que votre table dynamique est en retard.

En outre, vous pouvez utiliser le site Query Profile pour un dépannage approfondi en cliquant sur Show query profile à côté de chaque actualisation. Ceci montre le graphique de la requête.

Mise en évidence de l'option de profil de requête dans Snowsight.

Vous pouvez également utiliser la vue Graph dans Snowsight pour résoudre les problèmes en visualisant les dépendances de vos tables dynamiques. L’échec ou la suspension d’une table dynamique en amont entraînerait automatiquement l’échec de l’actualisation des tables dynamiques en aval. Pour plus d’informations, voir Voir le graphique des tables connectées à vos tables dynamiques.