- 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.
This topic provides the syntax for calling the function directly. To learn how to associate the function with a table or view so it runs at regular intervals, see 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.
If you don’t want to specify a column, you must associate the function with a table rather than call it directly.
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.
This function can be called directly only if you specify a query that projects a timestamp column. If you want to associate the function with a table or view so it runs at regular intervals with or without a column argument, see 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 |
+---------------------------------------------------------------------+