- 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.
Exigences en matière de contrôle d’accès¶
Associer et exécuter une DMF système requiert le privilège USAGE sur la DMF système. Vous pouvez accorder le rôle de base de données SNOWFLAKE.DATA_METRIC_USER pour donner aux utilisateurs le privilège USAGE sur toutes les DMFs système. Pour plus d’informations, voir Accorder le privilège USAGE sur les DMFs système.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
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 |
+---------------------------------------------------------------------+