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

O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog .

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.