- Catégories :
DATA_METRIC_SCHEDULED_TIME (fonction de métrique des données système)¶
Renvoie l’horodatage de l’exécution planifiée d’une DMF ou l’horodatage actuel si la fonction est appelée manuellement.
Vous pouvez utiliser cette DMF pour définir des métriques personnalisées afin de mesurer le niveau d’actualisation de vos données ou de définir des métriques incrémentielles en conjonction avec les DMFs qui existent déjà.
Syntaxe¶
SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()
Arguments¶
Aucun.
Renvoie¶
La fonction renvoie une valeur scalaire d’un type de données TIMESTAMP_LTZ.
Exigences en matière de contrôle d’accès¶
Pour utiliser une DMF système, choisissez l’une des approches de contrôle d’accès suivantes :
Attribuez le rôle de base de données DATA_METRIC_USER au rôle de propriétaire de la table, qui est le rôle disposant du privilège OWNERSHIP sur la table. Ce rôle de base de données dispose du privilège USAGE sur le schéma SNOWFLAKE.CORE et du privilège USAGE sur toutes les DMFs systèmes dans le schéma SNOWFLAKE.CORE.
En outre, accordez les privilèges de cette table au rôle de propriétaire de la table :
Privilège
Objet
Remarques
EXECUTE DATA METRIC FUNCTION
Compte
Ce privilège vous permet de contrôler les rôles qui ont accès aux ressources de calcul sans serveur pour appeler la DMF système.
USAGE
Base de données, schéma
Ces objets sont la base de données et le schéma qui contiennent la table à laquelle est fait référence dans
query
.Accordez les privilèges de la table précédente au rôle de propriétaire de la table. De plus, accordez les privilèges suivants au propriétaire de la table :
PRIVILEGES IMPORTED sur la base de données SNOWFLAKE. Pour plus d’informations, voir Permettre à d’autres rôles d’utiliser des schémas dans la base de données SNOWFLAKE.
Utilisez le rôle ACCOUNTADMIN.
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¶
L’appel manuel de cette fonction dans une requête SELECT renvoie la même valeur que la fonction CURRENT_TIMESTAMP.
Exemple¶
Créez une fonction de métrique des données personnalisée pour déterminer le niveau d’actualisation des données d’une table au cours de la dernière heure :
CREATE OR REPLACE DATA METRIC FUNCTION data_freshness_hour( ARG_T TABLE (ARG_C TIMESTAMP_LTZ)) RETURNS NUMBER AS 'SELECT TIMEDIFF( minute, MAX(ARG_C), SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()) FROM ARG_T';
Appelez manuellement la fonction de métrique des données :
SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;L’instruction renvoie
True
si la table n’a pas été mise à jour depuis une heure (60 minutes).L’instruction renvoie
False
si la table a été mise à jour il y a plus d’une heure.