Tabelas de sistema para solucionar problemas de carregamento de dados - Amazon Redshift

Tabelas de sistema para solucionar problemas de carregamento de dados

As seguintes tabelas de sistema do Amazon Redshift podem ser úteis na solução de problemas de carregamento de dados:

  • Consulte STL_LOAD_ERRORS para descobrir erros que ocorreram durante os carregamentos específicos.

  • Consulte STL_FILE_SCAN para visualizar o tempo de carregamento de arquivos específicos ou para ver se um arquivo específico foi mesmo lido.

  • Consulte STL_S3CLIENT_ERROR para encontrar detalhes de erros encontrados durante a transferência de dados do Amazon S3.

Para encontrar e diagnosticar erros de carregamento
  1. Crie uma exibição ou defina uma consulta que retorne detalhes dos erros de carregamento. O seguinte exemplo junta a tabela STL_LOAD_ERRORS à tabela STV_TBL_PERM a IDs para comparar os IDs de tabela aos nomes reais da tabela.

    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);
  2. Defina a opção MAXERRORS em seu comando COPY como um valor grande o suficiente para permitir que COPY retorne informações úteis sobre seus dados. Se COPY encontrar erros, uma mensagem de erro o direciona a consultar a tabela STL_LOAD_ERRORS para obter detalhes.

  3. Consulte a exibição LOADVIEW para visualizar detalhes de erros. Por exemplo:

    select * from loadview where table_name='venue';
    tbl | table_name | query | starttime --------+------------+-------+---------------------------- 100551 | venue | 20974 | 2013-01-29 19:05:58.365391 | input | line_number | colname | err_code | reason +----------------+-------------+-------+----------+--------------------- | venue_pipe.txt | 1 | 0 | 1214 | Delimiter not found
  4. Corrija o problema no arquivo de entrada ou no script do carregamento com base nas informações que a exibição retorna. Alguns erros típicos de carregamento a observar incluem:

    • Divergência entre os tipos de dados na tabela e valores nos campos nos dados de entrada.

    • Divergência entre o número de colunas na tabela e o número de campos nos dados de entrada.

    • Aspas incompatíveis. O Amazon Redshift oferece suporte a aspas simples e duplas; no entanto, essas aspas devem ser balanceadas adequadamente.

    • Formato incorreto de dados de data/hora nos arquivos de entrada.

    • Valores fora do intervalo nos arquivos de entrada (para colunas numéricas).

    • O número de valores distintos de uma coluna excede a limitação de sua codificação de compactação.