
Amazon Redshift e limitações ao usar o conector do Spark
O Redshift usa processamento paralelo para diminuir o tempo de execução do comando.
Published Jan 16, 2025
O Amazon Redshift é um serviço de data warehouse totalmente gerenciado e em escala de petabytes na nuvem, sem servidor, que permite acessar, analisar dados, sem todas as configurações de um data warehouse provisionado.
O Amazon Redshift usa SQL para analisar dados estruturados e semiestruturados, bancos de dados operacionais e data lakes, usando hardware e ML projetados pela AWS para oferecer a melhor performance de preço, em qualquer escala.
Algumas vantagens de uso:
- Os recursos são provisionados automaticamente e a capacidade do data warehouse escala de maneira inteligente para oferecer performance rápida até mesmo às workloads mais exigentes e imprevisíveis;
- O tempo em que o data warehouse fica ocioso não é cobrado (só é cobrado, o que é usado);
- Tem possibilidade de carregar dados e consultar imediatamente no editor de consultas v2 do Amazon Redshift ou na sua ferramenta de business intelligence (BI);
- Processamento paralelo entre os nodes, retornando com resultados para fazer agregação, e ter o resultado final;
- Quando precisamos escalar para ter mais poder computacional, colocamos mais nodes, e quando trabalhamos com mais de 1 node, o leader node não é cobrado por isso;
- Redshift managed Storage- mistura dos discos com S3. Atua em backup, disponibilizando atuação em vários data centers;
- Tem cachê que armazena resultados, e o mesmo pode ser ativado ou desativado durante o uso;
- Para arquitetura de dados- ele envia e consome dados;
- O Redshift faz várias funcionalidades, inclusive query para outros repositórios;
- Como desenvolvedor de aplicações, você pode usar a API do Amazon Redshif (deverá assinar cada solicitação HTTP ou HTTPS para a API para autenticá-la), ou as bibliotecas do kit de desenvolvimento de software (SDK) da AWS para gerenciar clusters de maneira programática;
- Data sharing-desacoplar área de armazenamento ,compartilhamento entre clusters;
- Compartilham tabelas entre eles, sem necessidade de duplicar dados, sem ter Pipelines ;
- Dados são centralizados no s3 e consumidos pelo Redshift e outros serviços;
- Maior agilidade para execução e alta performance;
- Aceleração do machine learning em SQL;
- Monetização de dados;
- Tem conectores para rodar spark e Machine learning.
- O URI de tempdir aponta para uma localização do Amazon S3. Esse diretório temporário não é limpo automaticamente, e pode gerar custos adicionais;
- As cópias entre o Amazon S3 e o Redshift não funcionam se o bucket do S3 e o cluster do Redshift estiverem em regiões da AWS diferentes. Para usar regiões da AWS separadas, defina o parâmetro
tempdir_region
como a região do bucket do S3, usado paratempdir
; - Importante usar a criptografia no lado do servidor do Amazon S3 para criptografar os buckets do Amazon S3 usados;
- Recomendável bloquear o acesso público aos buckets do Amazon S3;
- O cluster do Amazon Redshift não deve ficar acessível ao público;
- Importante ativar o registro em log de auditoria do Amazon Redshift;
- Deve-se ativar a criptografia em repouso do Amazon Redshift;
- Ativação SSL para a conexão JDBC do Spark no Amazon EMR ao Amazon Redshift;
- Recomendável transmitir um perfil do IAM usando o parâmetro
aws_iam_role,
para o parâmetro de autenticação do Amazon Redshift.