Catégories :

Information Schema , Fonctions de table

COPY_HISTORY

Cette fonction de table peut être utilisée pour interroger l’historique de chargement des données Snowflake selon différentes dimensions au cours des 14 derniers jours. La fonction renvoie l’activité de chargement pour les deux instructions COPY INTO <table> et le chargement de données en continu à l’aide de Snowpipe. La fonction de table évite la limitation de 10 000 lignes de Vue LOAD_HISTORY. Les résultats peuvent être filtrés à l’aide de prédicats SQL.

Syntaxe

COPY_HISTORY(
      TABLE_NAME => '<string>'
       , START_TIME => <constant_expr>
      [, END_TIME => <constant_expr> ] )

Arguments

Obligatoire :

TABLE_NAME => 'chaîne'

Une chaîne de caractères spécifiant un nom de table.

START_TIME => expr_constante

Horodatage (au format TIMESTAMP_LTZ), au cours des 14 derniers jours, marquant le début de la période de récupération des événements de chargement.

Facultatif :

END_TIME => expr_constante

Horodatage (au format TIMESTAMP_LTZ), au cours des 14 derniers jours, marquant la fin de la période de récupération des événements de chargement.

Par défaut : CURRENT_TIMESTAMP.

Notes sur l’utilisation

  • Pour les chargements de données Snowpipe, cette fonction renvoie des résultats uniquement pour le propriétaire du canal (c’est-à-dire le rôle doté du privilège OWNERSHIP sur le canal) ou un rôle avec les autorisations minimales suivantes :

    Privilège

    Objet

    Remarques

    USAGE

    Base de données et schéma qui stockent le canal

    MONITOR

    Canal

    Alternativement, le privilège global MONITOR EXECUTION est pris en charge.

    SELECT

    Table dans la définition du canal

  • Lors de l’appel d’une fonction de la table Information Schema, 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.

  • La fonction ne comprend que les commandes COPY INTO qui ont été exécutées jusqu’à la fin, avec ou sans erreurs.

  • Les données historiques des commandes COPY INTO sont supprimées du système lorsqu’une table est détruite.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

FILE_NAME

TEXT

Nom du fichier source et chemin d’accès relatif au fichier.

STAGE_LOCATION

TEXT

Nom de la zone de préparation où se trouve le fichier source.

LAST_LOAD_TIME

TIMESTAMP_LTZ

Date et heure de l’enregistrement de chargement. Pour les chargements de données en masse, il s’agit de l’heure à laquelle le chargement du fichier a commencé. Pour Snowpipe, il s’agit de l’heure à laquelle le chargement du fichier s’est terminé.

ROW_COUNT

NUMBER

Nombre de lignes chargées à partir du fichier source.

ROW_PARSED

NUMBER

Nombre de lignes analysées à partir du fichier source : NULL si STATUS est “LOAD_IN_PROGRESS”.

FILE_SIZE

NUMBER

Taille du fichier source chargé par le canal (en octets) ; NULL pour les chargements d’instruction COPY.

FIRST_ERROR_MESSAGE

TEXT

Première erreur du fichier source.

FIRST_ERROR_LINE_NUMBER

NUMBER

Numéro de ligne de la première erreur.

FIRST_ERROR_CHARACTER_POS

NUMBER

Position du premier caractère d’erreur.

FIRST_ERROR_COLUMN_NAME

TEXT

Nom de colonne de la première erreur.

ERROR_COUNT

NUMBER

Nombre de lignes d’erreur dans le fichier source.

ERROR_LIMIT

NUMBER

Si le nombre d’erreurs atteint cette limite, annulez.

STATUS

TEXT

Statut : Load in progress, Loaded, Load failed, Partially loaded, ou Load skipped.

TABLE_CATALOG_NAME

TEXT

Nom de la base de données dans laquelle réside la table cible.

TABLE_SCHEMA_NAME

TEXT

Nom du schéma dans lequel réside la table cible.

TABLE_NAME

TEXT

Nom de la table cible.

PIPE_CATALOG_NAME

TEXT

Nom de la base de données dans laquelle réside le canal.

PIPE_SCHEMA_NAME

TEXT

Nom du schéma dans lequel réside le canal.

PIPE_NAME

TEXT

Nom du canal définissant les paramètres de chargement ; NULL pour les chargements d’instruction COPY.

PIPE_RECEIVED_TIME

TIMESTAMP_LTZ

Date et heure de réception de la requête INSERT pour le fichier chargé par le canal ; NULL pour les chargements d’instruction COPY.

Exemples

Récupérez les détails de toutes les activités de chargement au cours de la dernière heure :

select *
from table(information_schema.copy_history(TABLE_NAME=>'MYTABLE', START_TIME=> DATEADD(hours, -1, CURRENT_TIMESTAMP())));