- Catégories :
VALIDATE_PIPE_LOAD¶
Cette fonction de table peut être utilisée pour valider les fichiers de données traités par Snowpipe dans un intervalle de temps spécifié. La fonction renvoie des détails sur toutes les erreurs rencontrées lors d’une tentative de chargement de données dans les tables Snowflake.
Note
Cette fonction renvoie l’activité du canal au cours des 14 derniers jours.
Syntaxe¶
VALIDATE_PIPE_LOAD(
PIPE_NAME => '<string>'
, START_TIME => <constant_expr>
[, END_TIME => <constant_expr> ] )
Arguments¶
PIPE_NAME => string
Chaîne spécifiant un canal. La fonction renvoie les résultats pour le canal spécifié uniquement.
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 d’erreur.
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 d’erreur.
Notes sur l’utilisation¶
Renvoie des résultats uniquement pour le propriétaire du canal (c’est-à-dire le rôle dôté du privilège OWNERSHIP sur le canal) ou un rôle avec les autorisations minimales suivantes :
Privilège
Objet
Remarques
MONITOR
Canal
Alternativement, le privilège global MONITOR EXECUTION est pris en charge.
USAGE
Définition de la zone de préparation d’un canal
Zones de préparation externes uniquement
READ
Définition de la zone de préparation d’un canal
Zones de préparation internes uniquement
SELECT
Table dans la définition du canal
INSERT
Table dans la définition du canal
Les opérations SQL sur les objets de schéma nécessitent également le privilège USAGE sur la base de données et le schéma qui contiennent l’objet.
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.
Si Snowpipe n’a rencontré aucune erreur lors du traitement de fichiers de données dans la plage de temps spécifiée, la fonction ne renvoie aucun résultat.
Si l’instruction COPY dans la description du canal inclut une requête pour transformer davantage les données pendant le chargement (c’est-à-dire une transformation COPY), la fonction renvoie actuellement une erreur utilisateur.
Si la plage de dates spécifiée tombe en dehors des 15 derniers jours, une erreur est renvoyée.
Sortie¶
La fonction renvoie les colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
ERROR |
TEXT |
Première erreur dans le fichier source. |
FILE |
TEXT |
Nom du fichier source où l’erreur est survenue. |
LINE |
NUMBER |
Numéro de la ligne dans le fichier source où l’erreur est survenue. |
CHARACTER |
NUMBER |
Position du caractère où l’erreur est survenue. |
BYTE_OFFSET |
NUMBER |
Décalage d’octet vers le caractère où l’erreur est survenue. |
CATEGORY |
TEXT |
Catégorie de l’opération lorsque l’erreur est survenue. |
CODE |
NUMBER |
ID pour le message d’erreur affiché dans la colonne ERROR. |
SQL_STATE |
NUMBER |
Code de statut SQL. |
COLUMN_NAME |
TEXT |
Nom et ordre de la colonne contenant l’erreur. |
ROW_NUMBER |
NUMBER |
Numéro de la ligne dans le fichier source où l’erreur est survenue. |
ROW_START_LINE |
NUMBER |
Numéro de la première ligne de la ligne où l’erreur est survenue. |
REJECTED_RECORD |
TEXT |
Enregistrement qui contenait l’erreur. |
Exemples¶
Validez les charges pour le canal mypipe
au cours de l’heure précédente :
select * from table(validate_pipe_load( pipe_name=>'MY_DB.PUBLIC.MYPIPE', start_time=>dateadd(hour, -1, current_timestamp())));