Carregar dados no Amazon Redshift
Há algumas maneiras de carregar dados em um banco de dados do Amazon Redshift. Uma fonte conhecida de dados a serem carregados são os arquivos do Amazon S3. A tabela a seguir resume alguns métodos a serem usados diretamente de uma fonte do Amazon S3.
Método a ser usado | Descrição | Quando o método é necessário |
---|---|---|
COPY command |
Executa uma ingestão de arquivos em lote para carregar dados dos arquivos do Amazon S3. Esse método utiliza processamento paralelo do Amazon Redshift. Para ter mais informações, consulte Carregar tabelas com o comando COPY. |
Deve ser usado quando são necessários requisitos básicos de carregamento de dados para iniciar a ingestão manual de arquivos em lote. Esse método é usado principalmente com pipelines de ingestão de arquivos personalizados e de terceiros ou workloads de ingestão de arquivos únicas ou ad hoc. |
COPY... Comando CREATE JOB (cópia automática) |
Executa seus comandos COPY automaticamente quando um arquivo é criado em caminhos rastreados do Amazon S3. Para ter mais informações, consulte Carregar tabelas com ingestão contínua de arquivos do Amazon S3 (visualização prévia). |
Deve ser usado quando um pipeline de ingestão de arquivos precisa ingerir dados automaticamente quando um arquivo é criado no Amazon S3. O Amazon Redshift monitora os arquivos ingeridos para evitar a duplicação de dados. Esse método requer configuração por proprietários de buckets do Amazon S3. |
Carregar diretamente de consultas de data lake |
Crie tabelas externas para executar consultas de data lake em seus arquivos do Amazon S3 e, depois, execute o comando INSERT INTO para carregar os resultados de suas consultas de data lake em tabelas locais. Para ter mais informações, consulte Tabelas externas para o Redshift Spectrum. |
É possível usar qualquer um dos seguintes casos:
|
Outros métodos a serem considerados | ||
Ingestão de streaming |
A ingestão de streaming oferece ingestão de dados de fluxo de baixa latência e alta velocidade do Amazon Kinesis Data Streams e do Amazon Managed Streaming para Apache Kafka em uma visão materializada provisionada pelo Amazon Redshift ou Amazon Redshift sem servidor. Para ter mais informações, consulte Conceitos básicos da ingestão de streaming do Amazon Kinesis Data Streams e Conceitos básicos da ingestão de streaming do Amazon Managed Streaming for Apache Kafka (Amazon MSK). |
Deve ser considerado para casos de uso em que os dados são primeiro transmitidos para arquivos no Amazon S3 e depois carregados diretamente do Amazon S3. Se não for necessário manter os dados no Amazon S3, muitas vezes é possível transmiti-los diretamente para o Amazon Redshift. |
Executar consultas de data lake |
Executar consultas diretamente de uma tabela do data lake em vez de ingerir o conteúdo da tabela em uma tabela local. Para ter mais informações, consulte Amazon Redshift Spectrum. |
Deve ser usado quando o caso de uso não exige a performance de consultas de tabelas locais no Amazon Redshift. |
Carregamento em lote com o Editor de Consultas do Amazon Redshift v2 |
É possível preparar e executar as workloads de ingestão de arquivos em lote visualmente no Editor de Consultas do Amazon Redshift v2. Para ter mais informações, consulte Carregar dados do S3 no Guia de gerenciamento do Amazon Redshift. |
Deve ser usado quando você deseja que o Editor de Consultas v2 prepare declarações COPY e deseja uma ferramenta visual para simplificar o processo de preparação da declaração COPY. |
Carregar dados de um arquivo local com o Editor de Consultas do Amazon Redshift v2. |
É possível fazer upload de arquivos diretamente da área de trabalho para as tabelas do Amazon Redshift sem a necessidade de carregar manualmente os arquivos no Amazon S3. Para ter mais informações, consulte Carregar dados de uma configuração e fluxo de trabalho de arquivo local no Guia de gerenciamento do Amazon Redshift. |
Deve ser usado quando você precisa carregar rapidamente arquivos do computador local para fins de consulta única. Com esse método, o Editor de Consultas do Amazon Redshift v2 armazena temporariamente o arquivo em um bucket do Amazon S3 de propriedade do cliente e executa um comando de cópia usando esse caminho do Amazon S3. |
Um comando COPY é a forma mais eficiente para carregar uma tabela. Você também pode adicionar dados às suas tabelas usando comandos INSERT, embora isso seja muito menos eficiente que o uso de COPY. O comando COPY é capaz de ler de vários arquivos de dados ou vários fluxos de dados simultaneamente. O Amazon Redshift aloca a workload aos nós do Amazon Redshift e executa as operações de carregamento em paralelo, incluindo a classificação das linhas e a distribuição dos dados entre fatias do nó.
nota
As tabelas externas do Amazon Redshift Spectrum são de somente leitura. Não é possível COPY ou INSERT em uma tabela externa.
Para acessar dados em outros recursos da AWS, o Amazon Redshift deve ter permissão para acessar esses recursos e para realizar as ações necessárias para acessar os dados. É possível usar o AWS Identity and Access Management (IAM) para limitar o acesso que os usuários têm aos recursos e aos dados do Amazon Redshift.
Após o carregamento inicial de seus dados, se você adicionar, modificar ou excluir uma quantia significativa de dados, você deve executar um comando VACUUM para reorganizar seus dados e recuperar espaço após exclusões. Você também deve executar um comando ANALYZE para atualizar as estatísticas da tabela.
Tópicos
- Carregar tabelas com o comando COPY
- Carregar tabelas com ingestão contínua de arquivos do Amazon S3 (visualização prévia)
- Carregar tabelas com comandos DML
- Execução de uma cópia profunda
- Análise de tabelas
- Vacuum de tabelas
- Gerenciamento de operações de gravação simultâneas
- Tutorial: Carregar dados do Amazon S3