Amazon EMR Especializadodesde 2009
Un servicio administrado para ejecutar frameworks de big data como Apache Spark, Hive y Presto
Qué hace
Amazon EMR (Elastic MapReduce) ejecuta frameworks de big data de código abierto como Apache Spark, Hive, Presto, Flink y HBase en infraestructura administrada de AWS. Puede ejecutar clústeres en instancias EC2, contenedores EKS o en modo sin servidor. EMR gestiona automáticamente el aprovisionamiento, configuración y ajuste de los frameworks.
Casos de uso
Se utiliza para procesamiento de datos a gran escala, análisis de datos con SQL (Hive, Presto), aprendizaje automático con Spark MLlib, procesamiento de flujos en tiempo real con Flink, ETL para lagos de datos, y análisis de logs y clickstream.
Analogía cotidiana
Piense en ello como una fábrica temporal de procesamiento de datos. Cuando tiene una gran cantidad de materias primas (datos) para procesar, EMR monta una fábrica (clúster) con las máquinas necesarias (frameworks), procesa todo y luego puede desmontar la fábrica cuando termine, pagando solo por el tiempo de uso.
¿Qué es EMR?
Amazon EMR es un servicio administrado que simplifica la ejecución de frameworks de procesamiento de big data. Tradicionalmente, configurar un clúster Hadoop o Spark requería semanas de trabajo: instalar software, configurar redes, ajustar parámetros. EMR automatiza todo esto, permitiéndole lanzar un clúster completamente configurado en minutos.
Frameworks y aplicaciones
EMR admite múltiples frameworks de código abierto. Apache Spark para procesamiento de datos general y aprendizaje automático. Apache Hive para consultas SQL sobre datos grandes. Presto/Trino para consultas SQL interactivas. Apache Flink para procesamiento de flujos. Apache HBase para bases de datos NoSQL. Puede instalar múltiples frameworks en un solo clúster.
Opciones de despliegue
EMR ofrece tres opciones de despliegue. EMR en EC2 ejecuta clústeres en instancias EC2 con control total sobre la configuración. EMR en EKS ejecuta cargas de trabajo Spark en clústeres de Kubernetes existentes. EMR Serverless ejecuta trabajos sin gestionar clústeres ni servidores, escalando automáticamente según la carga de trabajo.
Primeros pasos
Para comenzar con EMR, cree un clúster desde la consola especificando los frameworks, tipos de instancia y número de nodos. Puede enviar trabajos interactivamente usando notebooks EMR Studio, o programáticamente usando Steps. Para cargas de trabajo ad-hoc, EMR Serverless es la forma más rápida de comenzar sin gestión de infraestructura. Para más información, libros en Amazon también son útiles.
Aspectos a tener en cuenta
- Dejar el clúster en marcha genera cargos de instancias de forma continua, así que se recomienda configurar la terminación automática al completar los trabajos
- Usar instancias de spot en los nodos de tareas reduce considerablemente los costos, pero se necesita un diseño de trabajos preparado para interrupciones
- Para casos de uso simples, EMR Serverless puede ser más rentable al no requerir gestión de clústeres