Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
STL_LOAD_ERRORS
Visualizza i record di tutti gli errori di caricamento di Amazon Redshift.
STL_LOAD_ERRORS contiene una cronologia di tutti gli errori di caricamento di Amazon Redshift. Consultare Riferimento per gli errori di caricamento per un elenco completo dei possibili errori di caricamento e le spiegazioni.
Dopo aver interrogato STL_LOAD_ERRORS per trovare informazioni generiche sull'errore, esegui una query in STL_LOADERROR_DETAIL per dettagli aggiuntivi, come la riga e la colonna di dati esatte in cui si è verificato l'errore di analisi.
STL_LOAD_ERRORS è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consulta Visibilità dei dati nelle tabelle e nelle viste di sistema.
Nota
STL_LOAD_ERRORS contiene solo le query eseguite sui cluster con provisioning principali. Non contiene le query eseguite sui cluster di dimensionamento simultaneo o sui namespace serverless. Per accedere ai piani di spiegazione per le query eseguite sui cluster principali, sui cluster di dimensionamento simultaneo e sui namespace serverless, consigliamo di utilizzare la vista di monitoraggio SYS SYS_LOAD_ERROR_DETAIL. I dati nella vista di monitoraggio SYS sono formattati in modo da essere più facili da usare e comprendere.
Colonne di tabella
| Nome della colonna | Tipo di dati | Description |
|---|---|---|
| userid | intero | ID dell'utente che ha generato la voce. |
| sezione | intero | Sezione in cui si è verificato l'errore. |
| tbl | intero | ID tabella. |
| starttime | timestamp | Ora di inizio in UTC per il carico. |
| sessione | intero | ID di sessione per la sessione che esegue il carico. |
| query | intero | ID query. La colonna di query può essere utilizzata per unire altre tabelle e visualizzazioni del sistema. |
| filename | character(256) | Percorso completo verso il file di input per il carico. |
| line_number | bigint | Numero di riga nel file di importazione con l'errore. Per COPY da JSON, il numero di riga dell'ultima riga dell'oggetto JSON con l'errore. |
| colname | character(127) | Campo con l'errore. |
| tipo | character(10) | Tipo di dati del campo. |
| col_length | character(10) | Lunghezza della colonna, se applicabile. Questo campo è popolato quando il tipo di dati ha una lunghezza limite. Ad esempio, per una colonna con un tipo di dati di "character(3)", questa colonna conterrà il valore "3". |
| posizione | intero | Posizione dell'errore nel campo. |
| raw_line | character(1024) | Dati di caricamento non elaborati che contengono l'errore. I caratteri multibyte nei dati di caricamento sono sostituiti da un punto. |
| raw_field_value | char(1024) | Valore di preanalisi per il campo "colname" che ha portato all'errore di analisi. |
| err_code | intero | Codice di errore. |
| err_reason | character(100) | Spiegazione dell'errore. |
| is_partial | intero | Valore che se true (1) indica che il file di input viene diviso in intervalli durante un'operazione COPY. Se il valore è false (0), il file di input non viene diviso. |
| start_offset | bigint | Valore che, se il file di input viene diviso durante un'operazione COPY, indica il valore di offset della divisione (in byte). Se il numero di riga nel file è sconosciuto, il numero di riga è -1. Se il file non è diviso, questo valore è 0. |
| copy_job_id | bigint | Identificatore del processo di copia. Il valore 0 indica l'assenza del processo. |
Query di esempio
La query seguente collega STL_LOAD_ERRORS a STL_LOADERROR_DETAIL per visualizzare gli errori dei dettagli che si sono verificati durante il caricamento più recente.
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'esempio seguente utilizza STL_LOAD_ERRORS con STV_TBL_PERM per creare una nuova visualizzazione e la utilizza per determinare quale errore si è verificato durante il caricamento dei dati nella tabella EVENT:
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);
Successivamente, la seguente query restituisce l'ultimo errore che si è verificato durante il caricamento della tabella EVENT:
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 query restituisce l'ultimo errore di caricamento che si è verificato nella tabella EVENT. Se non si sono verificati errori di caricamento, la query restituisce zero righe. In questo esempio, la query restituisce un solo errore:
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)
Nei casi in cui il comando COPY divide automaticamente dati di file di grandi dimensioni, non compressi e delimitati da testo per facilitare il parallelismo, le colonne line_number,is_partial, e start_offset le colonne mostrano informazioni relative alle divisioni. (Il numero di riga può essere sconosciuto nei casi in cui il numero di riga del file originale non è disponibile.)
--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