Catégories :

Information Schema , Fonctions de table

AUTOMATIC_CLUSTERING_HISTORY

Cette fonction de table est utilisée pour interroger l’historique de Clustering automatique pour des tables données à l’intérieur d’une plage de dates spécifiée. Les informations renvoyées par la fonction incluent les crédits consommés, les octets mis à jour et les lignes mises à jour chaque fois qu’une table est regroupée.

Syntaxe

AUTOMATIC_CLUSTERING_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ]
      [ , TABLE_NAME => '<string>' ] )
Copy

Arguments

Tous les arguments sont facultatifs.

DATE_RANGE_START => constant_expr , . DATE_RANGE_END => constant_expr

La plage de date/heure pour afficher l’historique du Clustering automatique. Par exemple, si vous spécifiez que la date de début est 2019-04-03 et que la date de fin est 2019-04-05, vous obtenez des données pour le 3, le 4 et 5 avril. (Les points de terminaison sont inclus.)

  • Si ni date de début, ni date de fin n’est spécifiée, la valeur par défaut correspondra aux 12 dernières heures.

  • Si aucune date de fin n’est spécifiée, mais si une date de début l’est, alors CURRENT_DATE à minuit est utilisée comme date de fin de plage.

  • Si aucune date de début n’est spécifiée, mais qu’une date de fin est spécifiée, la plage commence 12 heures avant le début de DATE_RANGE_END.

TABLE_NAME => string

Nom de la table. Si spécifié, affiche uniquement l’historique de la table spécifiée. Le nom de la table peut inclure le nom du schéma et le nom de la base de données.

Si aucun nom de table n’est spécifié, les résultats incluent l’historique de chaque table gérée par le service de Clustering automatique dans la plage de temps spécifiée.

Notes sur l’utilisation

  • Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN ou tout rôle auquel le privilège global MONITOR USAGE a été explicitement accordé.

    Note

    Un rôle doté du privilège MONITOR USAGE peut afficher l’utilisation du crédit par objet, mais pas les noms d’objet. Il est également nécessaire d’accorder SELECT au rôle sur un objet pour que son nom soit renvoyé par cette fonction. Si le rôle ne dispose pas des privilèges suffisants pour voir le nom de l’objet, celui-ci peut être affiché avec un nom de substitution tel que « inconnu_# », où « # » représente un ou plusieurs chiffres.

  • 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.

  • L’historique est affiché par incréments de 1 heure.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

START_TIME

TIMESTAMP_LTZ

Début de l’intervalle de temps spécifié.

END_TIME

TIMESTAMP_LTZ

Fin de l’intervalle de temps spécifié.

TABLE_NAME

TEXT

Nom de la table. Affiche NULL si aucun nom de table n’est spécifié dans la fonction, auquel cas chaque ligne inclut les totaux pour toutes les tables utilisées dans l’intervalle de temps.

CREDITS_USED

NUMBER

Nombre de crédits facturés pour le clustering automatique durant la fenêtre allant de START_TIME à END_TIME.

NUM_BYTES_RECLUSTERED

NUMBER

Nombre d’octets regroupé durant la fenêtre allant de START_TIME à END_TIME.

NUM_ROWS_RECLUSTERED

NUMBER

Nombre de lignes regroupées chargées durant la fenêtre allant de START_TIME à END_TIME.

Exemples

Récupérer l’historique de clustering automatique sur une période d’une heure pour votre compte :

select *
  from table(information_schema.automatic_clustering_history(
    date_range_start=>'2018-04-10 13:00:00.000 -0700',
    date_range_end=>'2018-04-10 14:00:00.000 -0700'));
Copy

Récupérer l’historique du clustering automatique des 12 dernières heures, par périodes d’1 heure, pour votre compte :

select *
  from table(information_schema.automatic_clustering_history(
    date_range_start=>dateadd(H, -12, current_timestamp)));
Copy

Récupérer l’historique du clustering de la semaine passée pour votre compte :

select *
  from table(information_schema.automatic_clustering_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date));
Copy

Récupérer l’historique du clustering automatique de la semaine dernière, pour une table spécifiée dans votre compte :

select *
  from table(information_schema.automatic_clustering_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date,
    table_name=>'mydb.myschema.mytable'));
Copy