- Catégories :
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 => '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 dispose de n’importe quel privilège sur la table cible.
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 de Snowflake.
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 : |
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 : |
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 ; |
PIPE_RECEIVED_TIME |
TIMESTAMP_LTZ |
Date et heure de réception de la requête INSERT pour le fichier chargé par le canal ; |
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())));