Elasticidad

Amazon EMR le permite aprovisionar con rapidez y facilidad toda la capacidad que necesite, y agregarla o eliminarla de forma automática o manual. Es muy útil si cuenta con requisitos de procesamiento impredecibles o variables. Por ejemplo, si la mayor parte del procesamiento se produce por la noche, es posible que necesite 100 instancias durante el día y 500 por la noche. También puede suceder que necesite una gran capacidad durante un breve período de tiempo. Con Amazon EMR, puede aprovisionar rápidamente cientos o miles de instancias, realizar ajustes de escala de manera automática para satisfacer los requisitos de capacidad informática y eliminar el clúster cuando se complete el trabajo (para evitar pagar por capacidad inactiva).

elastic

Existen dos opciones principales para agregar o eliminar capacidad:

Implementar varios clústeres: si necesita más capacidad, puede lanzar fácilmente un nuevo clúster y finalizarlo cuando deje de necesitarlo. No existe ningún límite en cuanto al número de clústeres que puede tener. Es posible que quiera utilizar varios clústeres si tiene varios usuarios o aplicaciones. Por ejemplo, puede almacenar los datos de entrada en Amazon S3 y lanzar un clúster por cada aplicación que necesite procesar los datos. Se puede optimizar un clúster para la CPU, otro para el almacenamiento, etc.

Adaptar el tamaño de un clúster en ejecución: con Amazon EMR, es fácil ajustar la escala automáticamente o cambiar el tamaño manualmente de un clúster en ejecución. Quizás desee ampliar un clúster para agregar más potencia de procesamiento de forma temporal o reducir el clúster para ahorrar costos cuando tenga capacidad inactiva. Por ejemplo, algunos clientes agregan cientos de instancias a sus clústeres cuando se produce el procesamiento por lotes y eliminan las instancias adicionales cuando se completa el procesamiento. Al agregar instancias al clúster, EMR puede empezar a utilizar la capacidad aprovisionada en cuanto esté disponible. Cuando reduzca la escala, EMR elegirá de manera proactiva nodos inactivos para reducir el impacto en los trabajos en ejecución.

Bajo costo

Amazon EMR está diseñado para reducir el costo de procesamiento de grandes volúmenes de datos. Algunas de las características que permiten que tenga un costo reducido son los precios por segundo, la integración con las instancias de spot de Amazon EC2, la integración con las instancias reservadas de Amazon EC2, la elasticidad y la integración con Amazon S3.

Precios bajos por segundo: los precios de Amazon EMR se aplican por segundo con un mínimo de un minuto y comienzan con 0,15 USD por hora de instancia en el caso de las instancias pequeñas (131,40 USD al año). Consulte la sección de precios para obtener más detalles.

Integración con instancias de spot de Amazon EC2: las instancias de spot de Amazon EC2 le permiten elegir su propio precio para la capacidad de Amazon EC2. Puede especificar el precio máximo por hora que está dispuesto a pagar por la ejecución de un tipo de instancia determinado. Siempre que el precio ofrecido supere el precio de spot del mercado, mantendrá las instancias y, normalmente, pagará una fracción del precio de la modalidad bajo demanda. El precio de spot varía en función de la oferta y la demanda de las instancias, pero nunca pagará más que el precio máximo que haya especificado. Amazon EMR facilita el uso de instancias de spot para que pueda ahorrar tiempo y dinero. Los clústeres de Amazon EMR incluyen "nodos principales" que ejecutan HDFS y "nodos de tarea" que no lo hacen. Los nodos de tarea son perfectos para las instancias de spot porque, si el precio de spot aumenta y pierde esas instancias, no perderá los datos almacenados en HDFS. (Más información sobre los nodos principales y de tarea).

Integración con instancias reservadas de Amazon EC2: las instancias reservadas de Amazon EC2 le permiten mantener los beneficios de la informática elástica y, al mismo tiempo, reducir los costos y reservar capacidad. Con las instancias reservadas, el usuario realiza un modesto pago por única vez y, a cambio, recibe un importante descuento en el cargo por segundo de dicha instancia. Amazon EMR facilita el uso de instancias reservadas para que pueda ahorrar hasta un 65 % en relación con el precio de la modalidad bajo demanda.

Elasticidad: como Amazon EMR facilita el escalado automático de su clúster, no tendrá que aprovisionar capacidad excedente. Por ejemplo, es posible que no sepa cuántos datos administrarán los clústeres en seis meses o que tenga necesidades de procesamiento variables. Con Amazon EMR no tendrá que adivinar los requisitos futuros ni realizar aprovisionamientos para las demandas máximas, ya que puede agregar y eliminar capacidad fácilmente y en cualquier momento.

Integración con Amazon S3: el sistema de archivos de EMR (EMRFS) permite que los clústeres de EMR utilicen Amazon S3 como almacén de objetos para Hadoop de manera segura y eficaz. Puede almacenar sus datos en Amazon S3 y utilizar varios clústeres de Amazon EMR para procesar el mismo conjunto de datos. Es posible optimizar cada clúster para una carga de trabajo en especial, lo que puede ser más eficiente que disponer de un solo clúster para varias cargas de trabajo con requisitos diferentes. Por ejemplo, podría tener un clúster optimizado para la E/S y otro para la CPU y que cada uno procese el mismo conjunto de datos en Amazon S3. Además, al almacenar los datos de entrada y de salida en Amazon S3, puede cerrar clústeres cuando no sean necesarios.

EMRFS ofrece un nivel de rendimiento alto en operaciones de lectura y escritura en Amazon S3, admite el cifrado en el lado del servidor y en el lado del cliente de S3 mediante AWS Key Management Service (KMS) o con claves administradas por el cliente. Además, incluye una vista unificada opcional que comprueba la coherencia de lista y lectura tras escritura de objetos cuyo seguimiento se realiza en los metadatos. Además, los clústeres de Amazon EMR son compatibles tanto con EMRFS como con HDFS, lo que elimina la necesidad de elegir entre el almacenamiento en clústeres y Amazon S3.

Integración con el catálogo de datos de AWS Glue: puede usar el catálogo de datos de AWS Glue como repositorio de metadatos administrado para almacenar metadatos de tablas externas para Apache Spark y Apache Hive. Además, ofrece la detección de esquemas automática y un historial de las versiones de los esquemas. Esta funcionalidad le permite conservar metadatos para sus tablas externas en Amazon S3 fuera de su clúster con facilidad.

Almacenes de datos flexibles

Con Amazon EMR puede utilizar varios almacenes de datos, incluidos Amazon S3, Hadoop Distributed File System (HDFS) y Amazon DynamoDB.

DetailsPage_EMR-Diagram

Amazon S3: Amazon S3 es un servicio de almacenamiento de gran duración, escalable, seguro, rápido y económico de Amazon. Gracias al sistema de archivos de EMR (EMRFS), Amazon EMR puede utilizar Amazon S3 como almacén de objetos para Hadoop de manera segura y eficaz. Amazon EMR ha realizado numerosas mejoras en Hadoop para que pueda procesar grandes volúmenes de datos almacenados en Amazon S3 sin problemas. Además, EMRFS permite utilizar una vista unificada para comprobar la coherencia de lista y lectura tras escritura de los objetos incluidos en Amazon S3. EMRFS admite cifrado en el lado del servidor y en el lado del cliente de S3 para procesar objetos cifrados de Amazon S3, y puede utilizar AWS Key Management Service (KMS) o un proveedor de claves personalizadas.

Al lanzar el clúster, Amazon EMR transfiere los datos desde Amazon S3 a cada instancia del clúster y empieza a procesarlos inmediatamente. Una ventaja del almacenamiento de los datos en Amazon S3 y su procesado con Amazon EMR es que puede utilizar varios clústeres para procesar los mismos datos. Por ejemplo, podría disponer de un clúster de desarrollo de Hive optimizado para la memoria y un clúster de producción de Pig optimizado para la CPU que utilicen el mismo conjunto de datos de entrada.

Hadoop Distributed File System (HDFS): HDFS es el sistema de archivos de Hadoop. La topología actual de Amazon EMR agrupa sus instancias en tres grupos lógicos: el grupo Master, que ejecuta YARN Resource Manager y el servicio HDFS Name Node; el grupo Core, que ejecuta el daemon HDFS DataNode y el servicio YARN Node Manager; y el grupo Task, que ejecuta el servicio YARN Node Manager. Amazon EMR instala HDFS en el almacenamiento asociado con las instancias del grupo Core.  

Cada instancia EC2 incluye un volumen fijo de almacenamiento denominado "almacén de instancias" que está adjunto a la instancia. También puede personalizar el almacenamiento de una instancia mediante la incorporación de volúmenes de Amazon EBS. Amazon EMR permite agregar los tipos de volumen General (SSD), Aprovisionado (SSD) y Magnético. Los volúmenes de EBS que se agregan a un clúster de EMR no persisten si este se apaga. EMR eliminará automáticamente los volúmenes una vez que se finalice el clúster.

También puede habilitar el cifrado completo para HDFS con una configuración de seguridad de Amazon EMR o crear manualmente zonas de cifrado HDFS con el servidor de administración de claves de Hadoop.

Amazon DynamoDB: Amazon DynamoDB es un servicio de base de datos NoSQL rápido y completamente administrado. Amazon EMR cuenta con una integración directa con Amazon DynamoDB para que pueda procesar datos almacenados en Amazon DynamoDB de forma rápida y eficiente, y transferir datos entre Amazon DynamoDB, Amazon S3 y HDFS en Amazon EMR.

Otros almacenes de datos de AWS: los clientes de Amazon EMR también utilizan Amazon Relational Database Service (un servicio web que facilita la configuración, el funcionamiento y el escalado de bases de datos relacionales en la nube), Amazon Glacier (un servicio de almacenamiento con un costo extremadamente bajo que ofrece un almacenamiento seguro y duradero para el respaldo y el archivado de datos) y Amazon Redshift (un servicio de almacén de datos con escalado de petabytes, rápido y completamente administrado). AWS Data Pipeline es un servicio web que ayuda a los clientes a procesar datos y a transferirlos de manera fiable entre diferentes servicios de almacenamiento e informática de AWS (como Amazon EMR), así como entre orígenes de datos locales en intervalos especificados.

Use sus aplicaciones de código abierto favoritas

Mediante los lanzamientos con control de versiones en Amazon EMR, puede seleccionar y usar fácilmente los últimos proyectos de código abierto en su clúster de EMR, incluidas las aplicaciones presentes en los ecosistemas Apache Hadoop y Spark. Amazon EMR se encarga de instalar y configurar el software, para que pueda dedicar más tiempo a aumentar el valor de sus datos sin preocuparse por tareas administrativas y de infraestructura.

emr-5.16.0

Herramientas de Hadoop

Amazon EMR es compatible con herramientas de Hadoop eficientes y probadas, como Hive, Pig, HBase e Impala. Asimismo, puede ejecutar marcos de informática distribuida junto con Hadoop MapReduce, como Spark o Presto, mediante el uso de acciones de arranque. También puede usar Hue y Zeppelin como interfaces de usuario gráficas para interactuar con aplicaciones de su clúster.

hadoop-apps

Spark es un motor en el ecosistema de Hadoop destinado al procesamiento rápido de conjuntos de datos de gran tamaño. Utiliza conjuntos de datos distribuidos resistentes (RDD), tolerantes a errores y en la memoria y gráficos acíclicos dirigidos (DAG) para definir las transformaciones de los datos. Spark también incluye Spark SQL, Spark Streaming, MLlib y GraphX. Aprenda qué es Spark y obtenga más información sobre Spark en Amazon EMR.

Hive es un almacén de datos y un paquete de análisis de código abierto que se ejecuta sobre Hadoop. Hive funciona gracias a Hive QL, un lenguaje basado en SQL que permite que los usuarios estructuren, resuman y consulten datos. Hive QL es más que el SQL estándar, ya que incluye un soporte excelente con funciones map y reduce y tipos de datos complejos y ampliables que define el usuario, como JSON y Thrift. Esta capacidad permite procesar orígenes de datos complejos y desestructuradas, como documentos de texto y archivos de registro. Hive admite las extensiones de usuario a través de funciones definidas por el usuario escritas en Java. Amazon EMR ha efectuado numerosas mejoras en Hive, incluida la integración directa con Amazon DynamoDB y Amazon S3. Por ejemplo, con Amazon EMR puede cargar particiones de tabla automáticamente desde Amazon S3, puede escribir datos en tablas de Amazon S3 sin usar archivos temporales y puede obtener acceso a recursos de Amazon S3, como secuencias de datos para operaciones map y reduce personalizadas y bibliotecas adicionales. Obtenga más información sobre Hive y Amazon EMR.

Pig es un paquete de análisis de código abierto que se ejecuta sobre Hadoop. Pig funciona gracias a Pig Latin, un lenguaje similar a SQL que permite que los usuarios estructuren, resuman y consulten datos. Como sucede con las operaciones de estilo SQL, Pig Latin también incluye un soporte excepcional para las funciones map y reduce y los tipos de datos complejos y ampliables que define el usuario. Esta capacidad permite procesar orígenes de datos complejos y desestructuradas, como documentos de texto y archivos de registro. Pig admite las extensiones de usuario a través de funciones definidas por el usuario escritas en Java. Amazon EMR realizó numerosas mejoras en Pig, incluida la capacidad para utilizar varios sistemas de archivos (normalmente, Pig solo puede obtener acceso a un solo sistema de archivos remoto), la capacidad para cargar secuencias de comandos y JAR de clientes desde Amazon S3 (por ejemplo, "REGISTER s3:///my-bucket/piggybank.jar") y funcionalidades adicionales para el procesamiento String y DateTime. Obtenga más información sobre Pig y Amazon EMR.

HBase es una base de datos distribuida, no relacional y de código abierto inspirada en BigTable, de Google. Se desarrolló como parte del proyecto Hadoop de Apache Software Foundation y se ejecuta sobre Hadoop Distributed File System (HDFS) para ofrecer capacidades estilo BigTable para Hadoop. HBase ofrece una manera eficiente y a prueba de errores para almacenar grandes volúmenes de datos dispersos con almacenamiento y compresión basados en columnas. Además, HBase proporciona una búsqueda rápida de datos, ya que almacena en caché datos en memoria. HBase se optimizó para las operaciones de escritura secuencial y es muy eficiente para las eliminaciones, actualizaciones e inserciones por lotes. HBase trabaja sin problemas con Hadoop al compartir su sistema de archivos y servir como entrada y salida directa para los trabajos de Hadoop. HBase también se integra con Apache Hive, lo que permite la realización de consultas de tipo SQL en tablas de HBase, las uniones con tablas basadas en Hive y la compatibilidad con Java Database Connectivity (JDBC). Con Amazon EMR, puede usar Amazon S3 como almacén de datos para Apache HBase, lo que le permite reducir los costos y la complejidad operativa. Si utiliza HDFS como almacén de datos, puede crear copias de seguridad de HBase en Amazon S3 y realizar restauraciones a partir de una copia se seguridad creada con anterioridad. Obtenga más información sobre HBase y Amazon EMR.

Phoenix brinda capacidades de transacciones SQL con ACID de baja latencia con datos almacenados en Apache HBase. Puede crear índices secundarios con facilidad para incrementar el rendimiento y crear vistas distintas de la misma tabla HBase subyacente. Obtenga más información sobre Phoenix en Amazon EMR.

Impala es una herramienta de código abierto del ecosistema Hadoop para la generación de consultas interactivas y ad hoc mediante sintaxis SQL. En lugar de utilizar MapReduce, utiliza un motor de procesamiento masivo en paralelo (MPP) como el que existe en los sistemas de administración de bases de datos relacionales (RDBMS) tradicionales. Obtenga más información sobre Impala y Amazon EMR.

Hue es una interfaz de usuario de código abierto para Hadoop que facilita la ejecución y el desarrollo de consultas de Hive, la administración de archivos en HDFS, la ejecución y el desarrollo de secuencias de comandos de Pig y la administración de tablas. Hue en Amazon EMR también se integra con Amazon S3, lo que permite realizar consultas directamente en Amazon S3 y transferir archivos fácilmente entre HDFS y Amazon S3. Obtenga más información sobre Hue y Amazon EMR.

Presto es un motor de consultas SQL distribuidas de código abierto optimizado para análisis de datos ad hoc de baja latencia. Es compatible con el estándar ANSI SQL, incluidas las consultas complejas, las incorporaciones, las uniones y las funciones de ventana. Presto puede procesar datos procedentes de diversos orígenes de datos, incluidos Hadoop Distributed File System (HDFS) y Amazon S3. Aprenda qué es Presto y obtenga más información sobre Presto en Amazon EMR.

Zeppelin es una interfaz de usuario gráfica de código abierto que crea cuadernos interactivos y colaborativos para la exploración de datos mediante Spark. Puede usar Scala, Python, SQL (mediante Spark SQL) o HiveQL para manipular datos y visualizar rápidamente los resultados. Los cuadernos de Zeppelin se pueden compartir entre varios usuarios y las visualizaciones se pueden publicar en paneles externos. Obtenga más información sobre Spark en Amazon EMR.

Oozie es un programador de flujos de trabajo para Hadoop en el que puede crear gráficos acíclicos dirigidos (DAG) de acciones. También puede activar fácilmente sus flujos de trabajo Hadoop por acciones o por tiempo. Obtenga más información sobre Spark en Amazon EMR.

Tez es un marco de ejecución en Hadoop YARN que ofrece un rendimiento ágil a partir de planes de consultas optimizados y administración de recursos mejorada. Puede usar Tez con Apache Hive y Apache Pig en lugar de Hadoop MapReduce, y puede visualizar planes de ejecución con la interfaz de usuario de Tez. Obtenga más información sobre Tez en Amazon EMR.

Flink es un motor de flujo de datos de streaming que facilita la ejecución del procesamiento de transmisiones en tiempo real en orígenes de datos de alto procesamiento. Admite la semántica de hora de evento para eventos de fuera de servicio, la semántica de solo una vez, el control de la contrapresión y las API optimizadas para la escritura de aplicaciones de lotes y streaming. Más información sobre Flink en EMR.

Otros: Amazon EMR también admite una gran variedad de aplicaciones y herramientas conocidas, como R, Apache MXNet (aprendizaje profundo), Mahout (aprendizaje automático), Ganglia (monitorización), Accumulo (base de datos NoSQL segura), Sqoop (conector de bases de datos relacionales), HCatalog (administración de almacenamiento y tablas), entre otras. El equipo de Amazon EMR dispone de un almacén de código abierto de acciones de arranque que se puede utilizar para instalar software adicional, configurar su clúster o a modo de ejemplo para escribir sus propias acciones de arranque. 

Características adicionales

Ajuste del clúster: puede elegir qué tipos de instancias EC2 aprovisionar en su clúster (estándar, memoria alta, CPU alta, E/S alta, etc.) en función de los requisitos de su aplicación. Dispone de acceso raíz a todas las instancias y puede personalizar por completo el clúster para que se adapte a sus requisitos. Obtenga más información sobre los tipos de instancia de Amazon EC2 admitidos.

Depuración de aplicaciones: cuando habilita la depuración en un clúster, Amazon EMR archiva los archivos de registro en Amazon S3 y luego los indexa. A continuación, puede usar una interfaz gráfica en la consola para buscar los registros y ver el historial de trabajos de una manera intuitiva. Obtenga más información sobre la depuración de trabajos de Amazon EMR.

Monitorización del clúster: puede utilizar Amazon CloudWatch para monitorizar 23 métricas personalizadas de Amazon EMR, como el número promedio de tareas map y reduce en ejecución. También puede definir alarmas para estas métricas. Obtenga más información sobre la monitorización de clústeres de Amazon EMR.

Respuesta a eventos: puede utilizar los tipos de evento de Amazon EMR en Amazon CloudWatch Events para responder a los cambios de estado en los clústeres de Amazon EMR. Mediante el uso de reglas sencillas puede realizar configuraciones rápidamente, hacer coincidir eventos y redirigirlos a temas de Amazon SNS, funciones de AWS Lambda, colas de Amazon SQS y otros. Obtenga más información sobre los eventos en los clústeres de Amazon EMR.

Programación de flujos de trabajo recurrentes: puede utilizar AWS Data Pipeline para programar flujos de trabajo recurrentes que involucren a Amazon EMR. AWS Data Pipeline es un servicio web diseñado para ayudarlo a procesar datos y a transferirlos, de manera fiable y a intervalos definidos, entre diferentes servicios de almacenamiento e informática de AWS, así como entre orígenes de datos locales. Obtenga más información sobre EMR y Data Pipeline.

Cascading: Cascading es una biblioteca de Java de código abierto que ofrece una API de consulta, un planificador de consultas y un programador de trabajos para crear y ejecutar aplicaciones de Hadoop MapReduce. Las aplicaciones desarrolladas con Cascading se compilan y empaquetan en archivos JAR estándar compatibles con Hadoop, de forma parecida a otras aplicaciones nativas de Hadoop. Obtenga más información sobre Cascading y Amazon EMR.

Aprendizaje profundo: utilice marcos de aprendizaje profundo conocidos, como Apache MXNet, para definir, entrenar e implementar redes neuronales profundas. Puede utilizar estos marcos en clústeres de Amazon EMR con instancias GPU. Obtenga más información sobre MXNet en Amazon EMR.

Control del acceso de red al clúster: puede lanzar el clúster en Amazon Virtual Private Cloud (VPC), una sección aislada de forma lógica de la nube de AWS. Puede controlar todos los aspectos del entorno de red virtual, incluida la selección de su propio rango de direcciones IP, la creación de subredes y la configuración de tablas de ruteo y gateways de red. Obtenga más información sobre Amazon EMR y Amazon VPC.

Administrar usuarios, permisos y cifrado: puede utilizar las herramientas de AWS Identity & Access Management (IAM), como las funciones y los usuarios de IAM, para controlar el acceso y los permisos. Por ejemplo, puede otorgar permisos de lectura, pero no de escritura, a determinados usuarios en los clústeres. Además, puede utilizar las configuraciones de seguridad de Amazon EMR para definir diversas opciones de cifrado en reposo y en tránsito, incluido el cifrado de Amazon S3 y la autenticación con Kerberos. Obtenga más información sobre el control del acceso a su clúster y sobre las opciones de cifrado de Amazon EMR.

Instalar software adicional: puede utilizar acciones de arranque o una imagen de máquina de Amazon (AMI) personalizada con Amazon Linux para instalar software adicional en su clúster. Las acciones de arranque son secuencias de comandos que se ejecutan en los nodos del clúster cuando Amazon EMR lanza el clúster. Se ejecutan antes de que se inicie Hadoop y antes de que el nodo empiece a procesar datos. También puede cargar con anterioridad y utilizar software en una AMI con Amazon Linux personalizada. Obtenga más información acerca de las acciones de arranque de Amazon EMR y las AMI con Amazon Linux personalizadas.

Copiado eficiente de datos: puede mover rápidamente grandes volúmenes de datos desde Amazon S3 a HDFS, desde HDFS a Amazon S3 y entre buckets de Amazon S3 con S3DistCp de Amazon EMR, una extensión de la herramienta de código abierto Distcp que utiliza MapReduce para realizar esta tarea de forma eficiente. Obtenga más información sobre S3DistCp.

Hadoop Streaming: Hadoop Streaming es una utilizad de Hadoop que permite desarrollar archivos ejecutables de MapReduce en lenguajes diferentes a Java. El streaming se implementa en forma de archivo JAR. Obtenga más información sobre Hadoop Streaming en Amazon EMR.

JAR personalizado: escriba un programa de Java, compílelo para la versión de Hadoop que quiera utilizar y cárguelo en Amazon S3. Luego podrá enviar trabajos de Hadoop al clúster con la interfaz de Hadoop JobClient. Obtenga más información sobre el procesado de JAR personalizado con Amazon EMR.

Herramientas de terceros

Se puede utilizar Amazon EMR con una gran variedad de herramientas de software de terceros, como las siguientes:

Transferencia de datos
Monitorización
Ajuste del rendimiento
IDE gráfico
Distribución de Hadoop
Inteligencia empresarial y visualización
Inteligencia empresarial
Exploración de datos
Tableau_logo
Inteligencia empresarial y visualización
logo-talend-400
IDE gráfico
200x100_Jaspersoft_Logo
Inteligencia empresarial y visualización

Más información sobre los precios de Amazon EMR

Visite la página de precios
¿Listo para crear?
Introducción a Amazon EMR
¿Tiene más preguntas?
Contacte con nosotros