- Biblioteca de soluciones de AWS›
- Guía para ETL basada en SQL con Apache Spark en Amazon EKS
Guía para ETL basada en SQL con Apache Spark en Amazon EKS
Libere flujos de trabajo de datos eficientes y obtenga información más rápidamente con una solución escalable de extracción, transformación y carga (ETL) de nivel empresarial
Información general
Esta guía ayuda a abordar la brecha entre los requisitos de consumo de datos y las actividades de procesamiento de datos de bajo nivel realizadas por las prácticas comunes de ETL. Para las organizaciones que utilizan sistemas de administración de datos basados en SQL, la adaptación a las prácticas modernas de ingeniería de datos puede ralentizar el progreso de la obtención de información valiosa a partir de sus datos. En esta guía se proporciona un diseño que tiene en cuenta la calidad para aumentar la productividad del proceso de datos a través del marco de datos de código abierto Arc para una estrategia de ETL centrada en el usuario. La guía acelera la interacción con las prácticas de ETL, lo que fomenta la simplicidad y eleva el nivel de abstracción para unificar las actividades de ETL tanto en lotes como en secuencias.
También ofrecemos opciones para un diseño óptimo con instancias de procesamiento eficientes (como los procesadores AWS Graviton) que le permiten optimizar el rendimiento y el costo de poner en marcha trabajos de ETL a escala en Amazon EKS.
Funcionamiento
Este diagrama de arquitectura acelera el procesamiento de datos con Apache Spark en Amazon EKS.
Pilares de AWS Well-Architected Framework
El diagrama de arquitectura mencionado es un ejemplo de una solución que se creó teniendo en cuenta las prácticas recomendadas de una buena arquitectura. Para tener completamente una buena arquitectura, debe seguir todas las prácticas recomendadas de buena arquitectura posibles.
Dentro de los clústeres de Amazon EKS, las instancias de Amazon Elastic Compute Cloud (Amazon EC2) (CPU X86_64, Graviton ARM64) actúan como nodos de procesamiento y ejecutan cargas de trabajo de orientación. Los trabajos de Spark se ejecutan en instancias puntuales de Amazon EC2 aprovisionadas de forma elástica en función de las demandas de la carga de trabajo. CodeBuild y CodePipeline automatizan el proceso de GitOps, creando imágenes de contenedores a partir de actualizaciones de código de Git y enviándolas al registro privado de Amazon ECR. Argo Workflows programa los trabajos de ETL en Amazon EKS, extrae automáticamente la imagen de Docker de Arc de Amazon ECR, descarga los activos de ETL del bucket de artefactos de S3 y envía los registros de las aplicaciones a CloudWatch. Esta implementación y puesta en marcha automatizadas de los trabajos de ETL de datos minimiza la sobrecarga operativa y mejora la productividad. Además, la canalización de CI/CD que utiliza CodeBuild y CodePipeline ayuda a garantizar la mejora y el desarrollo continuos, al tiempo que almacena de forma segura la imagen Arc Docker de Guidance en Amazon ECR.
Los recursos del clúster de Amazon EKS se implementan en una Amazon VPC, lo que proporciona un aislamiento lógico de la red de Internet pública. Amazon VPC admite funciones de seguridad como el punto final de la VPC (que mantiene el tráfico dentro de la red de AWS), los grupos de seguridad, las listas de control de acceso a la red (ACL) y las funciones y políticas de AWS Identity and Access Management (IAM) para controlar el tráfico entrante y saliente y la autorización. El registro de imágenes de Amazon ECR ofrece características de seguridad de contenedores, como el análisis de vulnerabilidades. Amazon ECR y Amazon EKS siguen los estándares de registro y API de Kubernetes de la Open Container Initiative (OCI) e incorporan protocolos de seguridad estrictos. IAM proporciona control de acceso a los datos de las aplicaciones de Amazon S3, mientras que AWS Key Management Service (AWS KMS) cifra los datos en reposo en Amazon S3. Los roles de IAM para cuentas de servicio (IRSA) en los clústeres de Amazon EKS permiten un control de acceso detallado para los pods, lo que impone un control de acceso basado en roles y limita el acceso no autorizado a los datos de Amazon S3. Secrets Manager almacena y administra las credenciales de forma segura. CloudFront proporciona puntos de entrada seguros con codificación SSL para las herramientas web de Jupyter y Argo Workflows.
Amazon EKS permite topologías de alta disponibilidad mediante la implementación de los planos de control y computación de Kubernetes en varias zonas de disponibilidad (AZ). Esto ayuda a garantizar la disponibilidad continua de las aplicaciones de datos, incluso si una zona de disponibilidad sufre una interrupción, lo que se traduce en una implementación confiable de instancias EC2 Multi-AZ en Amazon EKS. Para el almacenamiento de datos, Amazon S3 proporciona una alta durabilidad y disponibilidad, al replicar automáticamente los objetos de datos en varias zonas de disponibilidad dentro de una región. Además, Amazon ECR aloja imágenes de Docker en una arquitectura escalable y de alta disponibilidad, que admite de forma fiable la implementación y los incrementos de aplicaciones basadas en contenedores. Amazon S3, Amazon EKS y Amazon ECR son servicios completamente administrados diseñados para acuerdos de servicio (SLA) de alto nivel con costos operativos reducidos. Permiten la implementación de aplicaciones empresariales cruciales a fin de cumplir con los requisitos de alta disponibilidad.
Los nodos de computación de Amazon EC2 del clúster de Amazon EKS pueden escalar y desescalar verticalmente de forma dinámica en función de la carga de trabajo de las aplicaciones. Las instancias de EC2 basadas en Graviton proporcionan una mayor eficiencia de rendimiento mediante procesadores basados en ARM personalizados, hardware optimizado y mejoras arquitectónicas. Un patrón de almacenamiento de computación desacoplado (con datos de entrada y salida almacenados en Amazon S3) mejora la eficiencia del escalado de computación dinámica. Data Catalog optimiza la administración de metadatos y se integra sin problemas con Athena para simplificar la administración de los metadatos y mejorar el rendimiento de las consultas. Catálogo de datos automatiza el rastreo y el mantenimiento de los metadatos técnicos para procesar y consultar datos de manera eficiente. Athena ofrece consultas rápidas sobre los datos de Amazon S3 sin moverlos, lo que mejora aún más la eficiencia del flujo de trabajo de análisis.
Amazon ECR es un servicio gestionado para proteger y dar soporte a las aplicaciones de contenedores con una tarifa mensual fija para almacenar y entregar imágenes de contenedores. Los nodos de computación en clústeres de Amazon EKS pueden ampliarse y reducirse en función de las cargas de trabajo de Spark, lo que ofrece tipos de instancias Graviton y Spot rentables. Data Catalog proporciona un repositorio de metadatos totalmente administrado y sin servidor, lo que elimina la necesidad de configurar y mantener una base de datos de metadatos de larga duración y reduce la sobrecarga y los costos operativos. CodeBuild y CodePipeline automatizan la creación y la implementación de la imagen de Docker del marco de ETL de Arc en un entorno sin servidor, lo que elimina la necesidad de aprovisionar y administrar los servidores de compilación, además de reducir los costos de mantenimiento de la infraestructura.
Esta guía ejecuta un clúster de Amazon EKS con tipos de procesamiento eficientes basados en los procesadores Graviton. Amazon ECR elimina la necesidad de gestionar servidores físicos o hardware personalizados. Catálogo de datos y Athena son servicios sin servidor que reducen aún más el impacto energético y medioambiental. La optimización de la capa de procesamiento de Amazon EKS para cargas de trabajo de Apache Spark a gran escala minimiza el impacto medioambiental de las cargas de trabajo de análisis. Cuenta con la flexibilidad de elegir procesadores basados en ARM en función de sus necesidades de rendimiento y sus prioridades de sostenibilidad.
Recursos de implementación
Descargo de responsabilidad
¿Ha encontrado lo que buscaba hoy?
Ayúdenos a mejorar la calidad del contenido de nuestras páginas compartiendo sus comentarios