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.

Vous pouvez également consulter les détails du chargement des données dans Snowsight. Voir Contrôler l’activité de chargement des données à l’aide de l’historique des copies.

Syntaxe

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

Arguments

Obligatoire :

TABLE_NAME => 'string'

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

START_TIME => constant_expr

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 => constant_expr

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 en masse, cette fonction renvoie les résultats pour un rôle qui a les privilèges MONITOR sur votre compte Snowflake, ou un rôle avec le privilège USAGE sur le schéma et la base de données et n’importe quel privilège sur la table.

  • Pour les chargements de données Snowpipe, cette fonction renvoie les résultats pour un rôle qui a le privilège MONITOR sur votre compte Snowflake, ou un rôle avec le privilège USAGE sur le schéma et la base de données qui contient le canal et tout privilège sur la table. En outre, si MONITOR sur le canal n’est pas disponible, le nom du canal, le nom de la table du canal, le nom du schéma du canal et le nom du catalogue du canal sont masqués par NULL.

  • Lors de l’appel d’une fonction de 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 de Snowflake.

  • Cette vue renvoie une limite de 14 jours d’historique de copie. Pour éviter cette limitation, utilisez la vue COPY_HISTORY (Account Usage).

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

  • L’abandon ou la recréation d’un objet de table supprime les données historiques pour les chargements de données en masse (instructionsCOPY INTO <table>) dans la table.

  • L’abandon ou la recréation d’un objet de canal supprime les données historiques pour les chargements de données Snowpipe utilisant le canal.

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 la fin du chargement du fichier.

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é (en octets).

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())));
Copy