STL_LOADERROR_DETAIL - Amazon Redshift

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_LOADERROR_DETAIL

Mostra un log degli errori di analisi dei dati che si sono verificati durante l'utilizzo di un comando COPY nelle tabelle di caricamento. Per preservare spazio su disco, per ogni operazione di caricamento vengono registrati un massimo di 20 errori per ogni sezione di nodo.

Quando Amazon Redshift non riesce ad analizzare un campo in una riga di dati mentre viene caricato in una tabella, si verifica un errore di analisi. Ad esempio, se una colonna della tabella prevede un tipo di dati di numeri interi e in quel campo il file di dati contiene una stringa di lettere, ciò provoca un errore di analisi.

Dopo aver eseguito una query su STL_LOAD_ERRORS per trovare informazioni generali sull'errore, esegui una query su STL_LOADERROR_DETAIL per dettagli aggiuntivi, ad esempio la riga e la colonna di dati esatte in cui si è verificato un errore di analisi.

La vista STL_LOADERROR_DETAIL contiene tutte le colonne di dati, inclusa la colonna in cui si è verificato l'errore di analisi e quelle precedenti. Utilizza il campo VALUE per visualizzare il valore di dati effettivamente analizzato in questa colonna, incluse le colonne che sono state analizzate correttamente prima dell'errore.

Questa vista è 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_LOADERROR_DETAIL contiene solo le query eseguite sui cluster principali. Non contiene query eseguite su cluster con dimensionamento simultaneo. Per accedere alle query eseguite sui cluster principali e con dimensionamento simultaneo, ti 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 colonna Tipo di dati Descrizione
userid integer ID dell'utente che ha generato la voce.
sezione integer Sezione in cui si è verificato l'errore.
session integer ID di sessione per la sessione che esegue il carico.
query integer 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.
field integer Campo con l'errore.
colname character(1024) Nome della colonna.
value character(1024) Valore dei dati del campo analizzati. (Può essere troncato). I caratteri multibyte nei dati di caricamento sono sostituiti da un punto.
is_null integer Se il valore analizzato è null o meno.
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".

Query di esempio

La query seguente collega STL_LOAD_ERRORS a STL_LOADERROR_DETAIL per visualizzare i dettagli di un errore di analisi verificatosi durante il caricamento della tabella EVENT, che ha un ID di tabella di 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;

Il seguente output di esempio mostra le colonne il cui caricamento è riuscito, inclusa la colonna con l'errore. In questo esempio, in due colonne il caricamento è riuscito prima che si verificasse l'errore di analisi nella terza colonna, in cui una stringa di caratteri è stata erroneamente analizzata per un campo che prevedeva un integer. Poiché il campo prevedeva un integer, ha analizzato la stringa "aaa", che sono dati non inizializzati, come null e ha generato un errore di analisi. L'output mostra il valore non elaborato, il valore analizzato e il motivo dell'errore:

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)

Quando una query collega STL_LOAD_ERRORS e STL_LOADERROR_DETAIL, mostra un motivo di errore per ogni colonna nella riga di dati, il che significa semplicemente che si è verificato un errore in quella riga. L'ultima riga nei risultati è la colonna in cui si è effettivamente verificato l'errore.