Catégories :

Information Schema , Fonctions de table

DYNAMIC_TABLES

Cette fonction de table renvoie des métadonnées sur les tables dynamiques, y compris les métriques de latence agrégées et le statut des actualisations les plus récentes, ayant eu lieu dans un délai de 7 jours par rapport à l’heure actuelle.

Syntaxe

DYNAMIC_TABLES (
  [ NAME => '<string>' ]
  [ , REFRESH_DATA_TIMESTAMP_START => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
  [ , INCLUDE_CONNECTED => { TRUE | FALSE } ]
)
Copy

Arguments

Tous les arguments sont facultatifs. Si aucun argument n’est fourni, alors 100 actualisations de toutes les tables dynamiques du compte seront renvoyées.

NAME => 'string'

Le nom d’une table dynamique.

Les noms doivent être mis entre guillemets simples et ne sont pas sensibles à la casse.

Vous pouvez spécifier le nom incomplet (dynamic_table_name), le nom partiellement complet (schema_name.dynamic_table_name) ou le nom complet (database_name.schema_name.dynamic_table_name).

Pour plus d’informations sur la résolution des noms d’objets, reportez-vous à Résolution de nom d’objet.

La fonction renvoie les métadonnées de cette table.

REFRESH_DATA_TIMESTAMP_START => constant_expr

Heure (au format TIMESTAMP_LTZ) de calcul des métriques liées à la latence cible de la table dynamique. Inclut toutes les actualisations pour lesquelles la valeur LATEST_DATA_TIMESTAMP est supérieure ou égale à REFRESH_DATA_TIMESTAMP_START.

Par défaut : toutes les actualisations de l’historique des actualisations sont conservées pendant 7 jours.

RESULT_LIMIT => integer

Un nombre spécifiant le nombre maximum de lignes renvoyé par la fonction.

Si le nombre de lignes correspondantes est supérieur à cette limite, les actualisations avec l’heure de fin la plus récente (ou celles qui sont toujours en cours d’exécution) sont renvoyées, jusqu’à la limite spécifiée.

Plage : de 1 à 10000

Par défaut : 100.

INCLUDE_CONNECTED => { TRUE | FALSE }

Lorsque la valeur est définie sur TRUE, la fonction renvoie les métadonnées de toutes les tables dynamiques connectées à la table dynamique spécifiée par l’argument NAME.

Vous devez spécifier l’argument NAME ; vous ne devez pas spécifier l’argument RESULT_LIMIT.

Par défaut : FALSE

Sortie

La fonction renvoie les colonnes suivantes.

Pour voir ces colonnes, vous devez utiliser un rôle avec le privilège MONITOR. Sinon, la fonction renvoie uniquement une valeur pour NAME, SCHEMA_NAME, DATABASE_NAME et QUALIFIED_NAME. Pour plus d’informations sur les privilèges des tables dynamiques, voir Privilèges permettant d’afficher les métadonnées d’une table dynamique.

Nom de la colonne

Type de données

Description

NAME

TEXT

Nom de la table dynamique.

SCHEMA_NAME

TEXT

Nom du schéma contenant la table dynamique.

DATABASE_NAME

TEXT

Nom de la base de données contenant la table dynamique.

QUALIFIED_NAME

TEXT

Nom complet de la table dynamique.

TARGET_LAG_SEC

NUMBER

Temps de latence cible en secondes de la table dynamique. Il s’agit de la valeur spécifiée dans le paramètre TARGET_LAG de la table dynamique.

TARGET_LAG_TYPE

TEXT

Type de latence cible. Elle peut être sous la forme suivante :

  • USER_DEFINED : déterminé par le paramètre TARGET_LAG spécifié pour la table dynamique.

  • DOWNSTREAM : inclut une table dynamique avec une latence cible DOWNSTREAM.

SCHEDULING_STATE

OBJECT

OBJECT composé de :

  • STATE (TEXT) : état de planification (RUNNING ou SUSPENDED).

  • REASON_CODE (TEXT) : spécifie le code correspondant à la raison pour laquelle la table dynamique n’est pas en cours d’exécution.

  • REASON_MESSAGE (TEXT) : description textuelle de la raison pour laquelle la table dynamique ne fonctionne pas. Ne s’applique que si la table dynamique n’est pas à l’état RUNNING.

  • SUSPENDED_ON (TIMESTAMP_LTZ) : horodatage auquel la table dynamique a été suspendue. Ne s’applique que si la table dynamique est à l’état SUSPENDED.

  • RESUMED_ON (TIMESTAMP_LTZ) : horodatage auquel la table dynamique a été reprise pour la dernière fois. Ne s’applique que si la table dynamique est à l’état RUNNING.

MEAN_LAG_SEC

NUMBER

Temps de latence moyen (en secondes) des actualisations de cette table dynamique.

MAXIMUM_LAG_SEC

NUMBER

Temps de latence maximal en secondes des actualisations de cette table dynamique.

TIME_ABOVE_TARGET_LAG_SEC

NUMBER

Temps en secondes, pendant la période de conservation ou depuis la dernière modification de la configuration, lorsque la latence réelle a été supérieure à la latence cible définie.

TIME_WITHIN_TARGET_LAG_RATIO

NUMBER

Ratio de temps de la période de conservation ou depuis la dernière modification de la configuration, lorsque la latence réelle se situe dans les limites de la latence cible.

LATEST_DATA_TIMESTAMP

TIMESTAMP_LTZ

Horodatage des données de la dernière actualisation réussie.

LAST_COMPLETED_REFRESH_STATE

TEXT

Statut de la dernière actualisation terminée de la table dynamique. Elle peut être sous la forme suivante :

  • SUCCEEDED : actualisation correctement terminée.

  • FAILED : échec de l’actualisation lors de l’exécution.

  • UPSTREAM_FAILED : l’actualisation n’a pas eu lieu en raison de l’échec d’une actualisation en amont.

  • CANCELLED : l’actualisation a été annulée avant l’exécution.

LAST_COMPLETED_REFRESH_STATE_CODE

TEXT

Code représentant l’état actuel de l’actualisation.

Si la valeur de LAST_COMPLETED_REFRESH_STATE est FAILED, cette colonne indique le code d’erreur associé à l’échec.

LAST_COMPLETED_REFRESH_STATE_MESSAGE

TEXT

Description de l’état actuel de l’actualisation.

Si la valeur de LAST_COMPLETED_REFRESH_STATE est FAILED, cette colonne indique le message d’erreur associé à l’échec.

EXECUTING_REFRESH_QUERY

TEXT

Si cette valeur est présente, cela représente l’ID de requête de la tâche d’actualisation. Si cette valeur est nulle, aucune tâche d’actualisation n’est en cours.

Notes sur l’utilisation

  • Lors de l’appel d’une fonction de la table de schémas d’informations, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.

Exemples

Récupérez les noms, les informations de latence et l’horodatage des données de la dernière actualisation réussie de toutes les tables dynamiques connectées à la table dynamique spécifiée.

SELECT
  name,
  target_lag_sec,
  mean_lag_sec,
  latest_data_timestamp
FROM
  TABLE (
    INFORMATION_SCHEMA.DYNAMIC_TABLES (
      NAME => 'mydb.myschema.mydt',
      INCLUDE_CONNECTED => TRUE
    )
  )
ORDER BY
  target_lag_sec
Copy