STL_LOAD_COMMITS - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

STL_LOAD_COMMITS

Gibt Informationen zur Nachverfolgung eines Datenladevorgangs bzw. zur Fehlerbehebung aus.

Diese Ansicht zeichnet den Fortschritt jeder Datendatei auf, während sie in eine Datenbanktabelle geladen wird.

STL_LOAD_COMMITS 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_LOAD_COMMITS enthält nur Abfragen, die auf Haupt-Clustern ausgeführt werden. Abfragen, die auf Nebenläufigkeitsskalierungs-Clustern ausgeführt werden, sind nicht enthalten. Um auf Abfragen zuzugreifen, die sowohl auf Haupt-Clustern als auch auf Nebenläufigkeitsskalierungs-Clustern ausgeführt werden, empfehlen wir, die SYS-Überwachungsansicht SYS_LOAD_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.
query integer Abfrage-ID. Die Abfrage-Spalte kann verwendet werden, um andere Systemtabellen und Anzeigen anzufügen.
slice integer Für diesen Eintrag geladener Slice.
Name character(256) Systemdefinierter Wert.
filename character(256) Name der verfolgten Datei.
byte_offset integer Diese Information ist nur für die interne Verwendung gedacht.
lines_scanned integer Anzahl der aus der Ladedatei gescannten Zeilen. Diese Zahl stimmt möglicherweise nicht mit der Anzahl der tatsächlich geladen Zeilen überein. So kann der Ladevorgang beispielsweise eine Anzahl ungültiger Datensätze scannen und tolerieren, je nach der MAXERROR-Option im COPY-Befehl.
Fehler integer Diese Information ist nur für die interne Verwendung gedacht.
curtime timestamp Zeitpunkt der letzten Aktualisierung dieses Eintrags.
status integer Diese Information ist nur für die interne Verwendung gedacht.
file_format character(16) Format der Ladedatei. Die möglichen Werte lauten wie folgt:
  • Avro

  • JSON

  • ORC

  • Parquet

  • Text

is_partial integer Wert, der bei true (1) angibt, dass die Eingabedatei während eines COPY-Vorgangs in Bereiche aufgeteilt wird. Wenn dieser Wert false (0) ist, wird die Eingabedatei nicht geteilt.
start_offset bigint Wenn die Eingabedatei während eines COPY-Vorgangs geteilt wird, gibt dieser Wert den Offset-Wert der Teilung (in Byte) an. Jede Dateiaufteilung wird als separater Datensatz mit dem entsprechenden start_offset-Wert protokolliert. Wenn die Datei nicht geteilt wird, ist dieser Wert 0.
copy_job_id bigint Die Kennung des Kopierauftrags. 0 gibt an, dass keine Auftragskennung vorhanden ist.

Beispielabfragen

Das folgende Beispiel gibt Details zur letzten COPY-Operation aus.

select query, trim(filename) as file, curtime as updated from stl_load_commits where query = pg_last_copy_id(); query | file | updated -------+----------------------------------+---------------------------- 28554 | s3://dw-tickit/category_pipe.txt | 2013-11-01 17:14:52.648486 (1 row)

Die folgende Abfrage enthält Einträge für einen neuen Ladevorgang der Tabellen in der TICKIT-Datenbank:

select query, trim(filename), curtime from stl_load_commits where filename like '%tickit%' order by query;
query | btrim | curtime -------+---------------------------+---------------------------- 22475 | tickit/allusers_pipe.txt | 2013-02-08 20:58:23.274186 22478 | tickit/venue_pipe.txt | 2013-02-08 20:58:25.070604 22480 | tickit/category_pipe.txt | 2013-02-08 20:58:27.333472 22482 | tickit/date2008_pipe.txt | 2013-02-08 20:58:28.608305 22485 | tickit/allevents_pipe.txt | 2013-02-08 20:58:29.99489 22487 | tickit/listings_pipe.txt | 2013-02-08 20:58:37.632939 22593 | tickit/allusers_pipe.txt | 2013-02-08 21:04:08.400491 22596 | tickit/venue_pipe.txt | 2013-02-08 21:04:10.056055 22598 | tickit/category_pipe.txt | 2013-02-08 21:04:11.465049 22600 | tickit/date2008_pipe.txt | 2013-02-08 21:04:12.461502 22603 | tickit/allevents_pipe.txt | 2013-02-08 21:04:14.785124 22605 | tickit/listings_pipe.txt | 2013-02-08 21:04:20.170594 (12 rows)

Die Tatsache, dass ein Datensatz in die Protokolldatei für diese Systemansicht geschrieben wird, bedeutet nicht, dass der Ladevorgang erfolgreich im Rahmen seiner enthaltenden Transaktion bestätigt wurde. Fragen Sie zur Prüfung von Ladebestätigungen die Ansicht STL_UTILITYTEXT ab und suchen Sie nach dem COMMIT-Datensatz, der einer COPY-Transaktion entspricht. Beispielsweise verbindet diese Abfrage STL_LOAD_COMMITS und STL_QUERY auf der Grundlage einer Unterabfrage gegen STL_UTILITYTEXT:

select l.query,rtrim(l.filename),q.xid from stl_load_commits l, stl_query q where l.query=q.query and exists (select xid from stl_utilitytext where xid=q.xid and rtrim("text")='COMMIT'); query | rtrim | xid -------+---------------------------+------- 22600 | tickit/date2008_pipe.txt | 68311 22480 | tickit/category_pipe.txt | 68066 7508 | allusers_pipe.txt | 23365 7552 | category_pipe.txt | 23415 7576 | allevents_pipe.txt | 23429 7516 | venue_pipe.txt | 23390 7604 | listings_pipe.txt | 23445 22596 | tickit/venue_pipe.txt | 68309 22605 | tickit/listings_pipe.txt | 68316 22593 | tickit/allusers_pipe.txt | 68305 22485 | tickit/allevents_pipe.txt | 68071 7561 | allevents_pipe.txt | 23429 7541 | category_pipe.txt | 23415 7558 | date2008_pipe.txt | 23428 22478 | tickit/venue_pipe.txt | 68065 526 | date2008_pipe.txt | 2572 7466 | allusers_pipe.txt | 23365 22482 | tickit/date2008_pipe.txt | 68067 22598 | tickit/category_pipe.txt | 68310 22603 | tickit/allevents_pipe.txt | 68315 22475 | tickit/allusers_pipe.txt | 68061 547 | date2008_pipe.txt | 2572 22487 | tickit/listings_pipe.txt | 68072 7531 | venue_pipe.txt | 23390 7583 | listings_pipe.txt | 23445 (25 rows)

In den folgenden Beispielen werden die Spaltenwerte is_partial und start_offset herausgestellt.

-- Single large file copy without scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 1 -- Single large uncompressed, delimited file copy with scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 16 -- Scan range offset logging in the file at 64MB boundary. SELECT start_offset FROM stl_load_commits WHERE query = pg_last_copy_id() ORDER BY start_offset; 0 67108864 134217728 201326592 268435456 335544320 402653184 469762048 536870912 603979776 671088640 738197504 805306368 872415232 939524096 1006632960