Amazon EMR es el mejor lugar para ejecutar Apache Spark. Puede crear rápida y fácilmente clústeres de Spark administrados con la consola de administración de AWS, la CLI de AWS o la API de Amazon EMR. Además, puede utilizar las características adicionales de Amazon EMR, que incluyen la conectividad rápida con Amazon S3 mediante el sistema de archivos de Amazon EMR (EMRFS), la integración con el mercado de spot de Amazon EC2, el catálogo de datos de AWS Glue y el escalado administrado por EMR para añadir instancias al clúster o eliminarlas de él. AWS Lake Formation ofrece un control pormenorizado del acceso, mientras que la integración con AWS Step Functions ayuda a organizar las canalizaciones de datos. EMR Studio (versión preliminar) es un entorno de desarrollo integrado (IDE) que facilita a los científicos e ingenieros de datos el desarrollo, la visualización y la corrección de aplicaciones de ingeniería y de ciencias de datos escritas en R, Python, Scala y PySpark. EMR Studio proporciona Jupyter Notebooks completamente administrado y herramientas como Spark UI y YARN Timeline Service para simplificar la depuración. EMR Notebooks facilita la realización de pruebas y la creación de aplicaciones con Spark. Si así lo prefiere, puede utilizar Apache Zeppelin para crear cuadernos interactivos y colaborativos a fin de analizar los datos con Spark.
Características y beneficios
Rendimiento rápido
EMR presenta el tiempo de ejecución de Amazon EMR para Apache Spark, un entorno de tiempo de ejecución optimizado para el rendimiento de Apache Spark, activado de forma predeterminada en los clústeres de Amazon EMR. El tiempo de ejecución de Amazon EMR para Apache Spark puede ser hasta 3 veces más rápido que los clústeres sin el tiempo de ejecución de EMR y tiene una compatibilidad de API del 100 % con Apache Spark estándar. El aumento de rendimiento permite que las cargas de trabajo se ejecuten con mayor rapidez y que pueda ahorrar en costes informáticos, sin implementar cambios en las aplicaciones.
Al utilizar un motor de ejecución de gráficos acíclicos dirigidos (DAG), Spark puede crear planes de consultas eficaces para transformaciones de datos. Spark también almacena datos de entrada, de salida e intermedios en la memoria como marcos de datos, lo que facilita un procesamiento rápido sin costos de E/S y mejora el rendimiento de cargas de trabajo iterativas o interactivas.
Desarrolle aplicaciones rápidamente y en colaboración
Apache Spark dispone de compatibilidad nativa con Java, Scala, SQL y Python, con lo que dispone de diversos lenguajes para crear sus aplicaciones. Además, puede enviar consultas SQL o HiveQL a través del módulo Spark SQL. Además de ejecutar aplicaciones, puede usar la API de Spark de forma interactiva con Python o Scala directamente en el shell de Spark o mediante EMR Studio o Jupyter Notebooks en su clúster. La compatibilidad con Apache Hadoop 3.0 en EMR 6.0 permite usar contenedores de Docker para simplificar la administración de las dependencias. También puede utilizar cuadernos de EMR Notebooks independientes (basados en Jupyter) o Zeppelin para crear cuadernos interactivos y colaborativos con el fin de analizar y visualizar datos. Puede ajustar y depurar cargas de trabajo en la consola de EMR, que tiene un servidor de historial de Spark persistente fuera del clúster.
Cree flujos de trabajo diversos
Apache Spark incluye varias bibliotecas para ayudar a crear aplicaciones de aprendizaje automático (MLlib), procesamiento de transmisiones (Spark Streaming) y procesamiento de gráficos (GraphX). Estas bibliotecas se integran a la perfección con el ecosistema de Spark y se pueden utilizar tal y como están para diversos casos de uso. Además, puede usar marcos de aprendizaje profundo, como Apache MXNet, con sus aplicaciones de Spark. La integración con AWS Step Functions le permite agregar organización y automatización de flujos de trabajo sin servidor en sus aplicaciones.
Integración con el conjunto de características de Amazon EMR
Envíe trabajos de Apache Spark con la API Step de EMR, utilice Spark con EMRFS para acceder directamente a los datos de S3, ahorre costes con la capacidad de spot de EC2, utilice el escalado administrado por EMR para añadir y eliminar capacidad de forma dinámica y lance clústeres transitorios o de larga duración en función de su carga de trabajo. También puede configurar de forma sencilla en Spark el cifrado y la autenticación con Kerberos mediante una configuración de seguridad de EMR. Además, puede usar el catálogo de datos de AWS Glue para almacenar metadatos de tablas Spark SQL o utilizar Amazon SageMaker con sus canalizaciones de aprendizaje automático de Spark. EMR instala y administra Spark en Hadoop YARN, y puede añadir otras aplicaciones de big data a su clúster. EMR con Apache Hudi le permite administrar la captura de datos modificados (CDC) de una manera más eficiente y lo ayuda a cumplir regulaciones de privacidad, como GDPR y CCPA, mediante la simplificación de la eliminación de registros. Haga clic aquí para obtener más información sobre las características de EMR.
Casos de uso
Procesamiento de transmisiones
Reciba y procese datos en tiempo real de Amazon Kinesis, Apache Kafka u otras transmisiones 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.
Aprendizaje automático
Apache Spark en EMR incluye MLlib para ofrecer una variedad de algoritmos de aprendizaje automático 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.
SQL interactivo
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 aprendizaje automático, 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.
Intent Media
Intent Media posee una plataforma de publicidad en sitios de comercio de viajes. El equipo de datos utiliza Apache Spark y MLlib en Amazon EMR para recibir terabytes de datos de comercio electrónico todos los días y utilizar la información para potenciar sus servicios de decisión y optimizar los ingresos de los clientes. Haga clic aquí para obtener más información.
Krux
Como parte de su plataforma de administración de datos de información de los clientes, Krux ejecuta cargas de trabajo de aprendizaje automático 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.
Más información sobre los precios de Amazon EMR