Apache Spark en Amazon EMR
¿Por qué Apache Spark en EMR?
Amazon EMR le permite crear lagos de datos abiertos y transaccionales con Apache Spark y Apache Iceberg. Nuestro tiempo de ejecución optimizado para el rendimiento es 100 % compatible con la API de Spark de código abierto y se ejecuta hasta 4,5 veces más rápido que los equivalentes de código abierto, a la par que ofrece un rendimiento de escritura en Iceberg 2,7 veces más rápido.
EMR es compatible con Apache Iceberg v3 y Spark 4.0 (versión preliminar), lo que le permite aprovechar capacidades como las transacciones ACID y la evolución del esquema con características como el tipo de datos VARIANT para datos semiestructurados a escala y el cumplimiento con ANSI SQL para la integridad de los datos. Tanto si necesita el control granular de EC2, la escala en contenedores de EKS o la simplicidad de EMR sin servidor, Amazon EMR ofrece velocidad, fiabilidad e integridad de los datos.
Características y beneficios
El tiempo de ejecución de Apache Spark de Amazon EMR optimizado para el rendimiento acelera las cargas de trabajo de lagos de datos con una ejecución hasta 4,5 veces más rápida que los equivalentes de código abierto, mientras mantiene una compatibilidad del 100 % con la API. Esta optimización se extiende a las operaciones de Apache Iceberg, ofreciendo un rendimiento de escritura 2,7 veces más rápido para los lagos de datos transaccionales que exigen velocidad y fiabilidad.
Gracias a la compatibilidad con Apache Iceberg v3 y Spark 4.0 (versión preliminar), EMR habilita capacidades avanzadas que incluyen transacciones ACID, evolución del esquema, el tipo de datos VARIANT para el procesamiento de datos semiestructurados y el cumplimiento con ANSI SQL.
El tiempo de ejecución de Amazon EMR para Spark optimiza sus planes de consulta para que se procesen completamente en memoria, lo que maximiza la utilización del hardware. Al simplificar la forma en que se gestionan los datos intermedios, EMR reduce el tiempo para obtener resultados en sus cargas de trabajo de machine learning con mayor consumo de recursos, lo que le permite iterar con mayor rapidez.
Modernice su flujo de trabajo con SageMaker Unified Studio y EMR Studio, que proporcionan entornos integrados para SQL, Python y Scala. Use Amazon Q Developer para generar código PySpark optimizado y solucionar problemas de planes de ejecución complejos (DAG) en tiempo real. A diferencia del Spark estándar, EMR proporciona una interfaz de usuario de Spark persistente que le permite analizar y depurar los registros de trabajos incluso después de que sus aplicaciones sin servidor o clústeres efímeros hayan finalizado. Esta persistencia es fundamental para la auditoría y el ajuste continuo del rendimiento en los entornos de producción.
EMR sin servidor elimina la fricción operativa al proporcionar una experiencia de cuaderno de inicio instantáneo. Ya no es necesario aprovisionar, escalar ni administrar clústeres. Solo tiene que asociar su entorno de desarrollo preferido, como Amazon SageMaker Unified Studio o JupyterLab, a una aplicación de EMR sin servidor y comenzar a realizar consultas. El tiempo de puesta en marcha de EMR para Spark garantiza que su código interactivo rinda con la misma velocidad de nivel empresarial que sus canalizaciones de producción. Tanto si está realizando una detección de datos ad hoc en petabytes de datos de S3 como si está procesando tareas complejas de ingeniería de características, Amazon EMR proporciona el entorno fluido y de alto rendimiento necesario para acelerar sus flujos de trabajo de ciencia de datos más críticos.
El agente de actualización de Apache Spark identifica automáticamente los cambios de API y las modificaciones de comportamiento en las aplicaciones PySpark y Scala. Los ingenieros pueden iniciar las actualizaciones directamente desde SageMaker Unified Studio o el IDE de su elección con la ayuda de la compatibilidad con MCP (protocolo de contexto de modelos). Durante el proceso de actualización, el agente analiza el código existente y sugiere cambios específicos, y los ingenieros pueden revisarlo y aprobarlo antes de la implementación. El agente valida la corrección funcional mediante validaciones de la calidad de los datos. Actualmente, el agente admite actualizaciones de Spark 2.4 a 3.5 y mantiene la precisión del procesamiento de datos durante todo el proceso de actualización.
Casos de uso
Reciba y procese datos en tiempo real de Amazon Kinesis, Apache Kafka u otras secuencias de datos con Spark Streaming en EMR. Realice el análisis de las transmisiones de forma tolerante a errores y escriba los resultados en S3 o HDFS en clúster.
Apache Spark en EMR incluye MLlib para ofrecer una variedad de algoritmos de machine learning escalables; también puede usar bibliotecas propias. Al almacenar conjuntos de datos en la memoria durante un trabajo, Spark ofrece un rendimiento excelente en consultas iterativas comunes en cargas de trabajo de aprendizaje automático. Puede mejorar las capacidades de Amazon SageMaker conectando la instancia del bloc de notas a un clúster de Apache Spark que se ejecuta en Amazon EMR, con Amazon SageMaker Spark para entrenar y alojar modelos fácilmente.
Use Spark SQL para consultas interactivas de baja latencia con SQL o HiveQL. Spark en EMR puede usar EMRFS, de forma que disponga de acceso ad hoc a sus conjuntos de datos en S3. Además, puede utilizar EMR Studio, EMR Notebooks, bloc de notas de Zeppelin o herramientas de inteligencia empresarial a través de conexiones ODBC y JDBC.
Historias de éxito de los clientes
Yelp
El equipo de publicidad de Yelp realiza modelos de predicción para determinar las probabilidades de que un usuario interactúe con un anuncio. Al usar Apache Spark en Amazon EMR para procesar grandes volúmenes de datos con el fin de entrenar los modelos de machine learning, Yelp incrementó sus ingresos y la tasa de clics en los anuncios.
The Washington Post
The Washington Post usa Apache Spark en Amazon EMR para crear modelos que potencian el motor de recomendaciones de su sitio web para incrementar la participación y satisfacción de los lectores. Utilizan la conectividad de alto rendimiento de Amazon EMR con Amazon S3 para actualizar los modelos casi en tiempo real.
Krux
Como parte de su plataforma de administración de datos de información de los clientes, Krux ejecuta cargas de trabajo de machine learning y procesamiento general con Apache Spark. Krux utiliza clústeres de Amazon EMR de corta duración con la capacidad de spot de Amazon EC2 para ahorrar costos, además de Amazon S3 con EMRFS como capa de datos de Apache Spark.
GumGum
GumGum, una plataforma de publicidad en pantalla y en imagen, usa Spark en Amazon EMR para predecir inventarios, procesar los registros de secuencias de clics y realizar análisis específicos de datos no estructurados en Amazon S3. Las mejoras en el desempeño que facilita Spark han permitido a GumGum ahorrar tiempo y dinero en estas cargas de trabajo.
Hearst Corporation
Hearst Corporation, una compañía diversificada de medios e información de gran tamaño, cuenta con clientes que ven contenido de más de 200 propiedades en la web. Gracias a Apache Spark Streaming en Amazon EMR, el personal editorial de Hearst puede observar en tiempo real los artículos que tienen buena aceptación y los temas que son tendencia.
CrowdStrike
CrowdStrike proporciona protección de puntos de enlace para evitar el acceso no autorizado. Utiliza Amazon EMR con Spark para procesar cientos de terabytes de datos de eventos y convertirlos en descripciones de comportamiento de alto nivel en los hosts. A partir de esos datos, CrowdStrike puede reunir datos de eventos y detectar la presencia de actividad maliciosa.