Quero carregar grandes volumes de dados do Amazon Simple Storage Service (Amazon S3) no Amazon Redshift e manter o desempenho ideal.
Breve descrição
Para adicionar dados do Amazon S3 às suas tabelas do Amazon Redshift, é possível usar o comando INSERT ou COPY. No entanto, é uma prática recomendada usar o comando COPY porque ele é mais eficiente. O COPY usa a arquitetura de processamento paralelo massivo (MPP) para carregar simultaneamente dados de arquivos em um bucket do S3.
Para outros métodos de uso, consulte Carregamento de dados no Amazon Redshift.
Resolução
Executar um comando COPY
Execute somente um comando COPY para carregar uma tabela. Se você usar vários comandos COPY simultâneos para carregar uma tabela a partir de vários arquivos, o Amazon Redshift executará um carregamento em série e poderá ficar lento.
Preparar arquivos de dados
Para usar com eficiência o comando COPY, você também deve preparar os arquivos de dados. O número de arquivos e seu tamanho afetam os recursos de processamento paralelo.
Se você especificar vários arquivos no comando COPY, o Amazon Redshift carregará os dados em paralelo. Para preparar seus arquivos de dados, verifique se eles têm aproximadamente o mesmo tamanho, com um intervalo de 1 MB a 1 GB.
Para um cluster provisionado pelo Redshift, é uma prática recomendada usar vários arquivos que sejam múltiplos do número de divisões. Para o Amazon Redshift sem servidor, é uma prática recomendada usar um número de arquivos que seja múltiplo de 128. Para mais informações, consulte Carregamento de arquivos de dados.
Para obter o número de divisões de um cluster provisionado pelo Redshift, execute a seguinte consulta:
select count(*) from STV_SLICES where type = 'D';
Observação: quando você especifica um arquivo.csv, Parquet ou ORC não compactado no comando COPY, o Amazon Redshift divide arquivos maiores que 128 MB.
Monitorar o status do comando COPY
Para visualizar o status do comando COPY, é possível verificar as tabelas do sistema.
As tabelas do sistema registram os detalhes do comando COPY, incluindo o número de arquivos, o tamanho do arquivo e o número de linhas carregadas. Monitore as tabelas para determinar as melhorias de desempenho que é possível fazer e a causa de uma falha no comando COPY.
Para mais informações sobre o comando COPY, consulte SYS_LOAD_HISTORY e SYS_LOAD_DETAIL.
Para mais informações sobre erros do comando COPY, consulte SYS_LOAD_ERROR_DETAIL.
Informações relacionadas
Práticas recomendadas do Amazon Redshift para carregamento de dados
Carregamento de tabelas com o comando COPY
Carregamento de dados de arquivos compactados e descompactados