STL_LOADERROR_DETAIL - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

STL_LOADERROR_DETAIL

Zeigt ein Protokoll von Datenparsingfehlern an, die bei der Verwendung eines COPY-Befehls zum Laden von Tabellen aufgetreten sind. Um Festplattenspeicherplatz zu sparen, werden maximal 20 Fehler pro Knotenslice für jeden Ladevorgang protokolliert.

Ein Parsingfehler tritt auf, wenn Amazon Redshift ein Feld in einer Datenzeile beim Laden in eine Tabelle nicht parsen kann. Zum Beispiel: Wenn eine Tabellenspalte den Datentyp „Ganzzahl“ erwartet, die Datendatei in dem betreffenden Feld jedoch eine Buchstabenzeichenfolge enthält, führt dies zu einem Parsingfehler.

Fragen Sie STL_LOADERROR_DETAIL ab, um weitere Details zu erhalten, etwa die genaue Datenzeile und Spalte, in der ein Parsingfehler aufgetreten ist, nachdem Sie STL_LOAD_ERRORS abgefragt haben, um allgemeine Informationen zu dem Fehler zu erhalten.

Die Ansicht STL_LOADERROR_DETAIL enthält alle Datenspalten, einschließlich aller Spalten vor der Spalte, in der der Parsingfehler aufgetreten ist. Verwenden Sie das Feld VALUE, um den Datenwert zu sehen, der in dieser Spalte tatsächlich geparst wurde, einschließlich der bis zu dem Fehler korrekt geparsten Spalten.

Diese Ansicht ist für alle Benutzer sichtbar. Superuser können alle Zeilen sehen; reguläre Benutzer können nur ihre eigenen Daten sehen. Weitere Informationen finden Sie unter Sichtbarkeit der Daten in Systemtabellen und Ansichten.

Anmerkung

STL_LOADERROR_DETAIL enthält nur Abfragen, die auf bereitgestellten Haupt-Clustern ausgeführt werden. Abfragen, die auf Parallelitätsskalierungs-Clustern oder in Serverless-Namespaces ausgeführt werden, sind nicht enthalten. Um auf Erklärpläne zuzugreifen, die sowohl auf Haupt-Clustern als auch auf Parallelitätsskalierungs-Clustern und in Serverless-Namespaces ausgeführt werden, empfehlen wir, die SYS-Überwachungsansicht SYS_LOAD_ERROR_DETAIL zu verwenden. Die Daten in der SYS-Überwachungsansicht sind so formatiert, dass sie leichter verwendbar und besser verständlich sind.

Tabellenspalten

Spaltenname Datentyp Beschreibung
userid integer ID des Benutzers, der den Eintrag generiert hat.
slice integer Slice, auf dem der Fehler aufgetreten ist.
Sitzung integer Sitzungs-ID der Sitzung, die den Ladevorgang durchführt.
query integer Abfrage-ID. Die Abfrage-Spalte kann verwendet werden, um andere Systemtabellen und Anzeigen anzufügen.
filename character(256) Der vollständige Pfad zur Eingabedatei für den Ladevorgang.
line_number bigint Zeilennummer in der Ladedatei mit dem Fehler.
field integer Feld mit dem Fehler.
colname character(1024) Spaltenname.
Wert character(1024) geparster Datenwert des Feldes. (Kann verkürzt werden.) Multibyte-Zeichen in den Ladedaten werden durch einen Punkt ersetzt.
is_null integer Ob der Parsingwert Null ist oder nicht.
type character(10) Datentyp des Feldes.
col_length character(10) Spaltenlänge, falls anwendbar. Dieses Feld ist gefüllt, wenn für den Datentyp eine Längenbegrenzung gilt. So enthält diese Spalte beispielsweise für eine Spalte mit dem Datentyp „character(3)“ den Wert „3“.

Beispielabfrage

Die folgende Abfrage verbindet STL_LOAD_ERRORS mit STL_LOADERROR_DETAIL zur Anzeige der Details eines Parsingfehlers, der beim Laden der Tabelle EVENT (Tabellen-ID 100133) aufgetreten ist:

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;

Die folgende Beispielausgabe zeigt die erfolgreich geladenen Spalten, einschließlich der Spalte mit dem Fehler. In diesem Beispiel wurden zwei Spalten erfolgreich geladen, bevor der Parsingfehler in der dritten Spalte auftrat, wobei eine Zeichenfolge für ein Feld, in dem eine Ganzzahl erwartet wurde, nicht korrekt geparst werden konnte. Da in dem Feld eine Ganzzahl erwartet wurde, ergab das Parsing der Zeichenfolge „aaa“, d. h. nicht initialisierte Daten, Null, und es wurde ein Parsingfehler ausgegeben. Die Ausgabe zeigt den Rohwert, den geparsten Wert und den Grund für den Fehler:

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)

Wenn eine Abfrage STL_LOAD_ERRORS und STL_LOADERROR_DETAIL verbindet, zeigt Sie eine Fehlerursache für jede Spalte in der Datenzeile an; dies bedeutet nur, dass in der betreffenden Zeile ein Fehler aufgetreten ist. Die letzte Zeile in den Ergebnissen enthält die eigentliche Spalte, in der der Parsingfehler aufgetreten ist.