Integración de Amazon Redshift para Apache Spark - Amazon Redshift

Integración de Amazon Redshift para Apache Spark

Apache Spark es un modelo de marco de procesamiento distribuido y de programación que le ayuda a aplicar machine learning, procesamiento de flujos o análisis de gráficos. Del mismo modo que Apache Hadoop, Spark es un sistema de procesamiento distribuido de código abierto utilizado frecuentemente para cargas de trabajo de big data. Spark cuenta con un motor de ejecución optimizado de grafos acíclicos dirigidos (DAG) y almacena activamente los datos en caché en la memoria. Esto puede aumentar el rendimiento, sobre todo en el caso de determinados algoritmos y consultas interactivas.

Esta integración le proporciona un conector Spark que puede utilizar para crear aplicaciones Apache Spark que lean y escriban en datos en Amazon Redshift y Amazon Redshift sin servidor. Estas aplicaciones no comprometen el rendimiento de la aplicación ni la coherencia transaccional de los datos. Esta integración se incluye automáticamente en Amazon EMR y AWS Glue, por lo que puede ejecutar inmediatamente trabajos de Apache Spark que accedan a los datos y los carguen en Amazon Redshift como parte de sus canalizaciones de ingesta y transformación de datos.

Actualmente, puede utilizar las versiones 3.3.0, 3.3.1, 3.3.2 y 3.4.0 de Spark con esta integración.

Esta integración proporciona lo siguiente:

  • Authentication de AWS Identity and Access Management (IAM). Para obtener más información, consulte Administración de identidades y accesos en Amazon Redshift.

  • Inserción de predicados y consultas para mejorar el rendimiento.

  • Tipos de datos de Amazon Redshift

  • Conectividad con Amazon Redshift y Amazon Redshift sin servidor.

Consideraciones y limitaciones al utilizar el conector de Spark

  • El URI de directorio temporal apunta a una ubicación de Amazon S3. Este directorio temporal no se limpia automáticamente y podría agregar costos adicionales. Recomendamos utilizar las políticas de ciclo de vida de Amazon S3 de la Guía del usuario de Amazon Simple Storage Service para definir las reglas de retención del bucket de Amazon S3.

  • De forma predeterminada, las copias entre Amazon S3 y Redshift no funcionan si el bucket de S3 y el clúster de Redshift se encuentran en regiones de AWS diferentes. Para usar regiones de AWS independientes, establezca el parámetro tempdir_region a la región del bucket de S3 utilizada para tempdir.

  • Escrituras entre regiones entre S3 y Redshift si se escriben datos de Parquet con el parámetro tempformat.

  • Recomendamos utilizar el cifrado del servidor de Amazon S3 para cifrar los buckets de Amazon S3 utilizados.

  • Recomendamos bloquear el acceso público a los buckets de Amazon S3.

  • Recomendamos que el clúster de Amazon Redshift no sea de acceso público.

  • Recomendamos activar el registro de auditoría de Amazon Redshift.

  • Recomendamos activar el cifrado en reposo de Amazon Redshift.

  • Recomendamos activar SSL para la conexión JDBC desde Spark en Amazon EMR a Amazon Redshift.

  • Recomendamos pasar un rol de IAM mediante el parámetro aws_iam_role para el parámetro de autenticación de Amazon Redshift.