Surveiller les tables dynamiques

Le sujet décrit les façons dont vous pouvez voir et comprendre les tables dynamiques dans vos pipelines :

Section

Description

Liste des tables dynamiques ou vue des informations sur des colonnes spécifiques

Établir la liste des tables dynamiques d’un schéma et voir les informations les concernant.

Voir le graphique des tables connectées à vos tables dynamiques

Consulter le graphique des tables connectées à vos tables dynamiques.

Contrôle de vos tables dynamiques à l’aide des fonctions de table de SQL

Contrôler vos tables dynamiques à l’aide des fonctions de table de SQL.

Surveillez le statut de actualisation de vos tables dynamiques

Voir le statut d’actualisation de vos tables dynamiques.

Liste des tables dynamiques ou vue des informations sur des colonnes spécifiques

Pour dresser la liste des tables dynamiques d’un schéma et afficher des informations sur ces tables dynamiques, vous pouvez utiliser les commandes SQL ou Snowsight, à condition d’utiliser un rôle disposant du privilège MONITOR sur les tables dynamiques.

Pour plus d’informations, voir Privilèges permettant d’afficher les métadonnées d’une table dynamique.

Pour dresser la liste des tables dynamiques de la base de données actuelle (ou du compte, si aucune base de données n’est actuellement utilisée), utilisez la commande SHOW DYNAMIC TABLES.

Par exemple, pour répertorier les tables dynamiques dont les noms commencent par product_ dans la base de données mydb et le schéma myschema, exécutez l’instruction SQL suivante :

SHOW DYNAMIC TABLES LIKE 'product_%' IN SCHEMA mydb.myschema;
Copy
+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | created_on               | name       | database_name | schema_name | cluster_by | rows | bytes  | owner    | target_lag | refresh_mode | refresh_mode_reason  | warehouse | comment | text                            | automatic_clustering | scheduling_state | last_suspended_on | is_clone  | is_replica  | is_iceberg | data_timestamp           | owner_role_type |
  |-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  |2025-01-01 16:32:28 +0000 | product_dt | my_db         | my_schema   |            | 2    | 2048   | ORGADMIN | DOWNSTREAM | INCREMENTAL  | null                 | mywh      |         | create or replace dynamic table | OFF                  | ACTIVE           | null              | false     | false       | false      |2025-01-01 16:32:28 +0000 | ROLE            |
                                                                                                                                                                                         |  product dt ...                 |                                                                                                                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                       |
  +-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Pour obtenir des informations sur les colonnes d’une table dynamique, utilisez la commande DESCRIBE DYNAMIC TABLE.

Par exemple, pour établir la liste des colonnes de my_dynamic_table, exécutez l’instruction SQL suivante :

DESC DYNAMIC TABLE my_dynamic_table;
Copy
+-------------------+--------------------------------------------------------------------------------------------------------------------------+
  | name   | type         | kind   | null? | default | primary key | unique key | check | expression | comment | policy name  | privacy domain |
  |-------------------+------------------------------------------------------------------------------------------------------------------------|
  | AMOUNT | NUMBER(38,0) | COLUMN | Y     | null    | N           | N          | null  | null       | null    | null         | null           |                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                       |
  +-------------------+------------------------------------------------------------------------------------------------------------------------+

Les tableaux dynamiques sont également inclus dans les résultats de la Vue TABLES.

Voir le graphique des tables connectées à vos tables dynamiques

La vue des dépendances est particulièrement utile pour dépanner les chaînes de tables dynamiques. Dans Snowsight, vous pouvez visualiser de quelles tables dynamiques dépend une table dynamique donnée à l’aide du graphique de lignage. Par exemple, vous pouvez identifier les éléments suivants :

  • Dépendances en amont d’où une table dynamique tire ses données.

  • Dépendances en aval susceptibles d’être affectées par les modifications apportées à une table dynamique.

Un exemple de graphique.

Les dépendances peuvent avoir un impact sur les performances du actualisation. Par exemple, supposons que la table en amont de votre table dynamique soit chargée d’un grand nombre de données juste avant son actualisation planifiée. Votre table dynamique attendra qu’il ait terminé l’actualisation, ce qui lui fera manquer sa latence cible. Dans le graphique de lignage, vous verrez que la table d’entrée est marquée comme étant « en exécution », ce qui indique le retard.

Pour voir le graphique d’une table dynamique particulière, procédez comme suit :

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, accédez à Monitoring » Dynamic Tables.

  3. Sélectionnez votre table dynamique. La vue Graph est affichée par défaut. Le graphique s’affiche avec le nœud de la table dynamique sélectionnée. Le volet Details, à droite, affiche des informations sur les mesures de retard et la configuration.

  4. Pour afficher les détails d’une table différente dans le graphique, sélectionnez cette table.

Pour mettre à jour le graphique, sélectionnez le bouton d’actualisation dans la barre située au-dessus du graphique.

Actualisation de l'affichage du graphique.

Si une actualisation a échoué en raison d’un code d’erreur UPSTREAM_FAILED, vous pouvez utiliser le graphique pour visualiser la table en amont qui a provoqué l’erreur.

UPSTREAM_FAILED dans l'affichage du graphique.

Pour consulter tous les détails d’une table dans le graphique, voir Liste des tables dynamiques ou vue des informations sur des colonnes spécifiques.

Contrôle de vos tables dynamiques à l’aide des fonctions de table de SQL

Utilisez les fonctions de table INFORMATION_SCHEMA suivantes pour contrôler vos tables dynamiques :

  • DYNAMIC_TABLES : renvoie des métadonnées sur vos tables dynamiques, notamment les métadonnées de retard agrégées et le statut des actualisations les plus récents, dans un délai de sept jours à compter de l’heure actuelle.

  • DYNAMIC_TABLE_REFRESH_HISTORY : renvoie des informations sur chaque actualisation terminée et en cours de vos tables dynamiques, y compris le statut et le déclencheur de l’actualisation, ainsi que la latence cible.

    • Vue DYNAMIC_TABLE_REFRESH_HISTORY : cette vue Account Usage affiche également des informations relatives à l’historique d’actualisation des tables dynamiques. Elle est utile pour résoudre les problèmes qui durent plus longtemps que la durée de conservation des données de la fonction de table DYNAMIC_TABLE_REFRESH_HISTORY (sept jours).

  • DYNAMIC_TABLE_GRAPH_HISTORY : renvoie des informations qui fournissent l’historique de chaque table dynamique, ses propriétés et ses dépendances par rapport à d’autres tables et tables dynamiques.

    Vous pouvez utiliser cette fonction de table pour obtenir un aperçu de l’arborescence de dépendance des tables dynamiques à un moment donné.

    La sortie reflète également les modifications apportées aux propriétés d’une table dynamique au fil du temps Chaque ligne représente une table dynamique et un ensemble spécifique de propriétés Si vous modifiez une propriété d’une table dynamique (par exemple, la latence cible), la fonction renvoie la propriété la plus récente.

Surveillez le statut de actualisation de vos tables dynamiques

Cette section explique comment voir le statut d’actualisation de toutes les tables dynamiques ou de certaines d’entre elles.

Pour une actualisation de la procédure de dépannage, voir Résolution des problèmes liés à l’absence, à la lenteur ou à l’échec de l’actualisation des tables dynamiques et Diagnostic des problèmes courants liés à l’actualisation des tables dynamiques.

Contrôler les actualisations de toutes vos tables dynamiques

Vous pouvez utiliser Snowsight ou la fonction de table DYNAMIC_TABLES pour voir le statut d’actualisation de toutes vos tables dynamiques.

Connectez-vous à Snowsight. Dans le menu de navigation, sélectionnez Monitoring » Dynamic Tables.

Cette page vous permet de voir l’état et le dernier statut d’actualisation de toutes vos tables dynamiques. Vous pouvez également filtrer par base de données ou par schéma pour restreindre les résultats.

Rafraîchir la vue historique dans Snowsight.

Surveillez tous les actualisations d’une table dynamique spécifique

Vous pouvez utiliser Snowsight ou la fonction de table DYNAMIC_TABLES_REFRESH_HISTORY pour voir l’historique d’actualisation d’une table dynamique donnée.

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Monitoring » Dynamic Tables.

  3. Sélectionnez votre table dynamique, puis allez dans l’onglet Refresh History.

    Cette page affiche l’historique de l’actualisation de votre table dynamique, qui comprend des informations sur le statut, la durée et la latence réelle de chaque actualisation, ainsi que le nombre de lignes modifiées à chaque actualisation.

    Elle affiche également les mesures de décalage de votre table dynamique, notamment le pourcentage de temps compris dans la latence cible et le temps de décalage réel le plus long pendant l’intervalle donné.

Rafraîchir la vue historique dans Snowsight.