STL_LOAD_ERRORS - Amazon Redshift

STL_LOAD_ERRORS

Exibe os registros de todos os erros de carregamento do Amazon Redshift.

STL_LOAD_ERRORS contém um histórico de todos os erros de carregamento do Amazon Redshift. Consulte Referência de erros de carregamento para obter uma lista abrangente de possíveis erros de carregamento e explicações.

Consulte STL_LOADERROR_DETAIL para obter detalhes adicionais, como a linha de dados exata e coluna onde ocorreu um erro de análise, depois de consultar STL_LOAD_ERRORS para descobrir informações gerais sobre o erro.

STL_LOAD_ERRORS permanece visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

nota

STL_LOAD_ERRORS só contém consultas executadas em clusters principais. Ele não contém consultas executadas em clusters de escalabilidade de simultaneidade. Para acessar consultas executadas em clusters de escalabilidade principais e de simultaneidade, é recomendável usar a exibição de monitoramento SYS SYS_LOAD_ERROR_DETAIL. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender.

Colunas da tabela

Nome da coluna Tipo de dados Descrição
userid inteiro O ID do usuário que gerou a entrada.
slice inteiro A fatia onde o erro ocorreu.
tbl inteiro ID da tabela.
starttime timestamp O horário (em UTC) de início do carregamento.
sessão inteiro O ID de sessão para a sessão executando o carregamento.
consulta inteiro ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema.
filename character(256) O caminho completo do arquivo de entrada para a carga.
line_number bigint O número da linha no arquivo de carga com o erro. Para o comando COPY do JSON, o número da linha da última linha do objeto JSON com o erro.
colname character(127) O campo com erro.
tipo character(10) O tipo de dados do campo.
col_length character(10) O tamanho da coluna, se aplicável. Este campo é preenchido quando o tipo de dados tem um limite de tamanho. Por exemplo, uma coluna com um tipo de dados "character(3)" conterá o valor "3".
position inteiro A posição do erro no campo.
raw_line character(1024) Os dados de carga brutos que contêm o erro. Os caracteres multibyte nos dados de carga são substituídos por um ponto.
raw_field_value char(1024) O valor da análise preliminar para o campo "colname" que leva ao erro de análise.
err_code inteiro Código de erro.
err_reason character(100) A explicação para o erro.
is_parcial inteiro Valor que, se true (1), indica que o arquivo de entrada é dividido em intervalos durante uma operação COPY. Se esse valor for false (0), o arquivo de entrada não será dividido.
start_offset bigint Valor que, se o arquivo de entrada for dividido durante uma operação COPY, indica o valor de deslocamento da divisão (em bytes). Se o número da linha no arquivo for desconhecido, o número da linha será -1. Se o arquivo não estiver dividido, esse valor será 0.
copy_job_id bigint O identificador do trabalho de cópia. 0 indica que não há nenhum identificador de trabalho.

Consultas de exemplo

A consulta a seguir une as tabelas STL_LOAD_ERRORS e STL_LOADERROR_DETAIL para exibir os detalhes dos erros que ocorreram durante a carga mais 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

O exemplo a seguir usa a tabela STL_LOAD_ERRORS com a STV_TBL_PERM para criar uma exibição nova e, em seguida, usa essa exibição para determinar que erros ocorreram durante o carregamento de dados na tabela 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);

Em seguida, a consulta abaixo retorna o último erro ocorrido durante o carregamento na tabela 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;

A consulta retorna o último erro de carga ocorrido na tabela EVENT. Se não houver erros de carga, a consulta retorna zero linhas. Neste exemplo, a consulta retorna um único erro:

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)

Nos casos em que o comando COPY divide automaticamente dados de arquivos grandes, descompactados e delimitados por texto para facilitar o paralelismo, as colunas line_number, is_parcial e start_offset exibem as informações relativas às divisões. (O número da linha pode ser desconhecido nos casos em que o número da linha do arquivo original não está disponível.)

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