STL_LOADERROR_DETAIL - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

STL_LOADERROR_DETAIL

Affiche un journal des erreurs d'analyse des données survenues lors de l'utilisation d'une COPY commande pour charger des tables. Afin d’économiser de l’espace sur le disque, 20 erreurs au plus par tranche de nœud sont enregistrées pour chaque opération de chargement.

Une erreur d’analyse se produit lorsqu’Amazon Redshift ne peut pas analyser un champ d’une ligne de données lors de son chargement dans une table. Par exemple, si une colonne de table attend un type de données entier et que le fichier de données contient une chaîne de lettres dans ce champ, il s’ensuit une erreur d’analyse.

Interrogez STL LOADERROR _ _ DETAIL pour obtenir des informations supplémentaires, telles que la ligne et la colonne de données exactes dans lesquelles une erreur d'analyse s'est produite, après STL_LOAD_ERRORS avoir demandé des informations générales sur l'erreur.

La DETAIL vue STL _ LOADERROR _ contient toutes les colonnes de données, y compris et avant la colonne dans laquelle l'erreur d'analyse s'est produite. Utilisez le VALUE champ pour voir la valeur des données réellement analysée dans cette colonne, y compris les colonnes correctement analysées jusqu'à l'erreur.

Cette vue est visible par tous les utilisateurs. Les super-utilisateurs peuvent voir toutes les lignes, tandis que les utilisateurs standard peuvent voir uniquement leurs propres données. Pour de plus amples informations, veuillez consulter Visibilité des données dans les tables et vues système.

Note

STL_ LOADERROR _ contient DETAIL uniquement les requêtes exécutées sur les clusters principaux. Elle ne contient pas de requêtes exécutées sur des clusters de mise à l’échelle de la simultanéité. Pour accéder aux requêtes exécutées à la fois sur des clusters de dimensionnement principaux et simultanés, nous vous recommandons d'utiliser la vue SYS SYS_LOAD_ERROR_DETAIL de surveillance. Les données de la vue SYS de surveillance sont formatées pour être plus faciles à utiliser et à comprendre.

Colonnes de la table

Nom de la colonne Type de données Description
userid entier ID de l’utilisateur qui a généré l’entrée.
slice entier Tranche où l’erreur s’est produite.
séance entier ID de séance pour la séance effectuant le chargement.
query entier ID de requête. La colonne de requête peut servir à joindre les autres tables système et les vues.
filename character(256) Chemin d’accès complet du fichier d’entrée de la charge.
line_number bigint Numéro de ligne dans le fichier de chargement avec l’erreur.
field entier Champ avec l’erreur.
colname character(1024) Nom de la colonne.
value character(1024) Valeur des données analysées du champ. (Peut être tronquée.) Les caractères multioctets des données de chargement sont remplacés par un point.
is_null entier Indique si la valeur analysée est null ou pas.
type character(10) Type de données du champ.
col_length character(10) Longueur de la colonne, le cas échéant. Ce champ est rempli lorsque le type de données a une longueur limite. Par exemple, pour une colonne avec le type de données « character(3) », cette colonne contient la valeur « 3 ».

Exemple de requête

La requête suivante joint STL _ LOAD _ ERRORS à STL _ LOADERROR _ DETAIL pour afficher les détails d'une erreur d'analyse survenue lors du chargement de la EVENT table, dont l'ID de table est 100133 :

select d.query, d.line_number, d.value, le.raw_line, le.err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and tbl = 100133;

L’exemple de sortie suivant illustre les colonnes qui ont été correctement chargées, y compris la colonne avec l’erreur. Dans cet exemple, deux colonnes ont été chargées avec succès avant que l’erreur d’analyse ne se produise dans la troisième colonne, où une chaîne de caractères n’a pas été correctement analysée pour un champ destiné à un nombre entier. Comme le champ prévoyait un nombre entier, il a analysé la chaîne « aaa », qui correspond à des données non initialisées, comme valeur null et a généré une erreur d’analyse. La sortie affiche la valeur brute, la valeur analysée et la raison de l’erreur :

query | line_number | value | raw_line | err_reason -------+-------------+-------+----------+---------------- 4 | 3 | 1201 | 1201 | Invalid digit 4 | 3 | 126 | 126 | Invalid digit 4 | 3 | | aaa | Invalid digit (3 rows)

Lorsqu'une requête joint STL _ LOAD _ ERRORS et _ STL LOADERROR _DETAIL, elle affiche une raison d'erreur pour chaque colonne de la ligne de données, ce qui signifie simplement qu'une erreur s'est produite dans cette ligne. La dernière ligne des résultats est la colonne où l’erreur d’analyse s’est produite.