STL_LOAD_ERRORS - 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_LOAD_ERRORS

Affiche les enregistrements de toutes les erreurs de charge Amazon Redshift.

STL_ LOAD _ ERRORS contient un historique de toutes les erreurs de chargement d'Amazon Redshift. Consultez Référence des erreurs de chargement pour une liste complète des erreurs de charge possibles et de leurs explications.

STL_LOADERROR_DETAILRecherchez 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 avoir STL interrogé _ LOAD _ ERRORS pour obtenir des informations générales sur l'erreur.

STL_ LOAD _ ERRORS 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_ LOAD _ contient ERRORS 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.
tbl entier ID de table.
starttime timestamp Heure de début UTC du chargement.
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. Pour COPY fromJSON, le numéro de ligne de la dernière ligne de l'JSONobjet contenant l'erreur.
colname character(127) Champ avec l’erreur.
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 ».
position entier Position de l’erreur dans le champ.
raw_line character(1024) Données de chargement brutes qui contiennent l’erreur. Les caractères multioctets des données de chargement sont remplacés par un point.
raw_field_value char(1024) Valeur de pré-analyse pour le champ « colname » qui a conduit à l’erreur d’analyse.
err_code entier Code d’erreur.
err_reason character(100) Explication de l’erreur.
is_partial entier Valeur qui, si elle est vraie (1), indique que le fichier d'entrée est divisé en plages au cours d'une COPY opération. Si false = 0, le fichier d’entrée n’est pas divisé.
start_offset bigint Valeur qui, si le fichier d'entrée est fractionné au cours d'une COPY opération, indique la valeur de décalage du fractionnement (en octets). Si le numéro de ligne du fichier est inconnu, le numéro de ligne est -1. Si le fichier n’est pas fractionné, cette valeur est réglée sur 0.
copy_job_id bigint Identifiant de la tâche de copie. Un 0 indique qu’il n’y a aucun identifiant de tâche.

Exemples de requêtes

La requête suivante joint STL _ LOAD _ ERRORS à STL _ LOADERROR _ DETAIL pour afficher les détails des erreurs survenues lors du dernier chargement.

select d.query, substring(d.filename,14,20), d.line_number as line, substring(d.value,1,16) as value, substring(le.err_reason,1,48) as err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and d.query = pg_last_copy_id(); query | substring | line | value | err_reason -------+-------------------+------+----------+---------------------------- 558| allusers_pipe.txt | 251 | 251 | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | ZRU29FGR | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Kaitlin | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Walter | String contains invalid or unsupported UTF8 code

L'exemple suivant utilise STL _ LOAD _ ERRORS avec STV _ TBL _ PERM pour créer une nouvelle vue, puis utilise cette vue pour déterminer les erreurs survenues lors du chargement des données dans la EVENT table :

create view loadview as (select distinct tbl, trim(name) as table_name, query, starttime, trim(filename) as input, line_number, colname, err_code, trim(err_reason) as reason from stl_load_errors sl, stv_tbl_perm sp where sl.tbl = sp.id);

Ensuite, la requête suivante renvoie la dernière erreur survenue lors du chargement de la EVENT table :

select table_name, query, line_number, colname, starttime, trim(reason) as error from loadview where table_name ='event' order by line_number limit 1;

La requête renvoie la dernière erreur de chargement survenue pour la EVENT table. Si aucune erreur de chargement ne s’est produite, la requête renvoie zéro ligne. Dans cet exemple, la requête renvoie une seule erreur :

table_name | query | line_number | colname | error | starttime ------+-----+----+----+--------------------------------------------------------+---------------------- event | 309 | 0 | 5 | Error in Timestamp value or format [%Y-%m-%d %H:%M:%S] | 2014-04-22 15:12:44 (1 row)

Dans les cas où la COPY commande divise automatiquement des données de fichier volumineuses, non compressées et délimitées par du texte pour faciliter le parallélisme, les colonnes line_number, is_partial et start_offset affichent des informations relatives aux divisions. (Le numéro de ligne peut être inconnu dans le cas où le numéro de ligne du fichier d’origine n’est pas disponible.)

--scan ranges information SELECT line_number, POSITION, btrim(raw_line), btrim(raw_field_value), btrim(err_reason), is_partial, start_offset FROM stl_load_errors WHERE query = pg_last_copy_id(); --result -1,51,"1008771|13463413|463414|2|28.00|38520.72|0.06|0.07|NO|1998-08-30|1998-09-25|1998-09-04|TAKE BACK RETURN|RAIL|ans cajole sly","NO","Char length exceeds DDL length",1,67108864