Integração do Amazon Redshift para o Apache Spark - Amazon Redshift

Integração do Amazon Redshift para o Apache Spark

O Apache Spark é um modelo de programação e estrutura de processamento distribuído que ajuda você a realizar machine learning, processamento de fluxo ou análises de gráficos. Semelhante ao Apache Hadoop, o Spark é um sistema de processamento distribuído de código-fonte aberto comumente utilizado para cargas de trabalho Big Data. O Spark tem um mecanismo de execução otimizado de gráfico acíclico direcionado (DAG) e armazena ativamente os dados na memória. Isso pode aumentar a performance, especialmente para determinados algoritmos e consultas interativas.

Essa integração fornece um conector do Spark que você pode usar para criar aplicações do Apache Spark que leem e gravam dados no Amazon Redshift e no Amazon Redshift Serverless. Essas aplicações não comprometem a performance nem a consistência transacional dos dados. Essa integração é incluída automaticamente no Amazon EMR e AWS Glue, portanto você pode executar imediatamente trabalhos do Apache Spark que acessam e carregam dados no Amazon Redshift como parte de seus pipelines de ingestão e transformação de dados.

No momento, é possível usar as versões 3.3.0 e 3.3.1, 3.3.2 e 3.4.0 do Spark com essa integração.

Essa integração fornece o seguinte:

  • Autenticação do AWS Identity and Access Management (IAM). Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon Redshift.

  • Aplicação de predicados e consultas para melhorar a performance.

  • Tipo de dados do Amazon Redshift.

  • Conectividade com o Amazon Redshift e o Amazon Redshift Serverless.

Considerações e limitações ao usar o conector do Spark

  • O URI de tempdir aponta para uma localização do Amazon S3. Esse diretório temporário não é limpo automaticamente e pode incorrer custos adicionais. Recomendamos usar as políticas de ciclo de vida do Amazon S3 no Guia do usuário do Amazon Simple Storage Service para definir as regras de retenção para o bucket do Amazon S3.

  • Por padrão, 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 para tempdir.

  • Gravações entre regiões entre o S3 e o Redshift ao gravar dados do Parquet usando o parâmetro tempformat.

  • Recomendamos usar a criptografia no lado do servidor do Amazon S3 para criptografar os buckets do Amazon S3 usados.

  • Recomendamos bloquear o acesso público aos buckets do Amazon S3.

  • Recomendamos que o cluster do Amazon Redshift não esteja acessível ao público.

  • Recomendamos ativar o registro em log de auditoria do Amazon Redshift.

  • Recomendamos ativar a criptografia em repouso do Amazon Redshift.

  • Recomendamos ativar SSL para a conexão JDBC do Spark no Amazon EMR ao Amazon Redshift.

  • Recomendamos transmitir um perfil do IAM usando o parâmetro aws_iam_role para o parâmetro de autenticação do Amazon Redshift.