- Catégories :
FRESHNESS (fonction de métrique des données système)¶
Renvoie le temps en secondes écoulé depuis la dernière modification d’une table.
Lorsqu’un argument de colonne est spécifié, la période est calculée en comparant l’exécution en cours de la fonction avec la valeur maximale d’une colonne d’horodatage. Si l’heure programmée d’exécution de la fonction est différente de son exécution réelle, l’heure programmée est utilisée pour la comparaison.
Si aucune colonne n’est spécifiée, la période est calculée en comparant l’exécution actuelle de la fonction avec la dernière fois qu’une commande DML a agi sur la table. Si l’heure programmée d’exécution de la fonction est différente de son exécution réelle, l’heure programmée est utilisée pour la comparaison.
Cette rubrique fournit la syntaxe pour appeler la fonction directement. Pour savoir comment associer la fonction à une table ou à une vue afin qu’elle s’exécute à intervalles réguliers, voir Association d’une DMF pour automatiser les contrôles de qualité des données.
Syntaxe¶
SNOWFLAKE.CORE.FRESHNESS( [ <query> ] )
Arguments¶
querySi spécifiée, la requête doit projeter une seule colonne d’horodatage.
Si vous ne voulez pas spécifier une colonne, vous devez associer la fonction à une table plutôt que de l’appeler directement.
Types de données autorisés¶
La colonne projetée par query doit posséder l’un des types de données suivants :
DATE
TIMESTAMP_LTZ
TIMESTAMP_TZ
Renvoie¶
La fonction renvoie une valeur scalaire d’un type de données NUMBER.
Notes sur l’utilisation¶
Vous devez spécifier un argument de colonne si vous souhaitez associer cette fonction à une vue ou à une table externe.
Cette fonction ne peut être appelée directement que si vous spécifiez une requête qui projette une colonne d’horodatage. Si vous souhaitez associer la fonction à une table ou à une vue afin qu’elle s’exécute à intervalles réguliers avec ou sans argument de colonne, consultez Association d’une DMF pour automatiser les contrôles de qualité des données.
Exemple¶
Associer la fonction à la table t1 pour déterminer le temps écoulé depuis la dernière opération DML sur la table :
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.FRESHNESS on ();
Déterminer le niveau d’actualisation des données, 300 secondes ou 5 minutes, dans la table en mesurant la colonne TIMESTAMP :
SELECT SNOWFLAKE.CORE.FRESHNESS(
SELECT
timestamp
FROM hr.tables.empl_info
) < 300;
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True |
+---------------------------------------------------------------------+