MapReduce
¿Qué es MapReduce?
MapReduce es un modelo de programación que se ejecuta sobre Hadoop, un motor de análisis de datos ampliamente utilizado para Big Data. Programa aplicaciones que se ejecutan en paralelo para procesar grandes volúmenes de datos almacenados en clústeres.
Flexibilidad elástica
A pesar de que el rendimiento de MapReduce resulta mucho más lento que el de otros modelos, su principal ventaja consiste en su flexibilidad elástica para escalar rápidamente o asignar más nodos informáticos a fin de acortar los tiempos de procesamiento. MapReduce puede escalar a través de miles de nodos, probablemente debido a sus sistemas de archivos distribuidos y a la capacidad de ejecutar procesos cerca de los datos en lugar de tener que moverlos. Su escalabilidad reduce el coste de almacenar y procesar volúmenes de datos crecientes.
Procesamiento paralelo
Con MapReduce, los desarrolladores no necesitan escribir código para proporcionar paralelismo, distribuir datos o realizar otras tareas de codificación complejas, porque ya se encuentran integradas en el modelo. Esta ventaja por sí misma acorta el tiempo de programación analítica.
Compatibilidad con datos desestructurados
Puesto que los datos desestructurados representan la mayoría de los datos generados (80 %), el hecho de que MapReduce ofrezca compatibilidad con cualquier tipo de estructura de datos ayuda a las empresas a analizar los datos con mayor eficacia.
Tolerancia a fallos
MapReduce resulta menos vulnerable a los fallos de hardware que provocan la detención de un sistema porque opera distribuyendo datos a través de numerosos equipos y servidores. MapReduce envía un conjunto completo de datos a cada nodo de la red y, si un nodo o elemento de hardware falla, todos los datos sobreviven y se pueden recuperar automáticamente.
¿Cómo funciona MapReduce?
Se puede desglosar la forma de operar de MapReduce en tres fases, con una cuarta opcional.
- Asignar: en esta primera fase, la lógica condicional filtra los datos a través de todos los nodos en pares de valores clave. La «clave» se refiere a la dirección de desplazamiento de cada registro y el «valor» contiene todo el contenido del registro.
- Reorganizar: durante la segunda fase, los valores de salida de la asignación se ordenan y consolidan. Los valores se agrupan en función de claves similares y se descartan los valores duplicados. El resultado de la fase de reorganización se ordena en pares de valores clave, pero esta vez, los valores indican un rango en lugar del contenido de un registro.
- Reducir: en la tercera fase, se agrega el resultado de la fase de reorganización consolidada y se añaden todos los valores a sus claves correspondientes. A continuación, se combinan en un directorio de salida único.
- Combinar: la ejecución de esta fase puede optimizar el rendimiento de los trabajos de MapReduce y lograr que fluyan con mayor rapidez. Esto se consigue tomando los resultados de la asignación y examinándolos a nivel de nodo en busca de duplicados, que se combinan en un solo par valor-clave, reduciendo el trabajo que se debe realizar en la fase de reorganización.
En cuanto a cómo se llevan a cabo estas fases, la arquitectura se compone de dos servicios daemon: Resource Manager y Node Manager, que ejecutan tareas de asignación y reducción, junto con la supervisión y reejecución de las que fallen. Estos dos servicios también gestionan los componentes de procesamiento paralelo y tolerancia a fallos en todos los trabajos de MapReduce.
Más adelante en la estructura, las funciones de gestión de recursos y programación/supervisión se dividen en distintos daemons: un administrador de recursos global y un maestro de aplicaciones para cada aplicación.
Cuando entra un trabajo, el administrador de recursos coordina la asignación de clústeres y recursos de todas las aplicaciones en ejecución. Trabaja con el maestro de aplicaciones y el administrador de nodos para determinar qué nodos pueden ocuparse del trabajo. A continuación, el maestro de aplicaciones y el/los administrador(es) de nodos se coordinan. Los administradores de nodos son los que lanzan y supervisan realmente los contenedores informáticos para realizar el trabajo.
¿Cómo emplean las empresas MapReduce?
A medida que ha madurado el mercado del procesamiento de datos, la cuota de mercado de MapReduce ha caído hasta menos de un uno por ciento. No obstante, siguen utilizándolo casi 1500 empresas en Estados Unidos, y presenta alguna penetración en otros países.
En general, son el sector del software informático y los servicios de TI los que emplean MapReduce. Otros sectores incluyen los servicios financieros, hospitales y asistencia sanitaria, educación superior, comercio minorista, seguros, telecomunicaciones y banca. Estos son algunos ejemplos de casos de uso:
- Servicios financieros: la banca minorista emplea un sistema Hadoop para validar la precisión y calidad de los datos a fin de cumplir las normativas federales.
- Asistencia sanitaria: una empresa de TI y asistencia sanitaria emplea un sistema Hadoop para archivar años de reclamaciones y remitir datos, lo que supone procesar terabytes de datos cada día y almacenarlos para análisis posteriores. Otro sistema hospitalario supervisa las constantes vitales transmitidas continuamente por los sensores conectados a los pacientes y recopila de esta manera miles de millones de puntos de datos.
- Servicios de TI: uno de los grandes proveedores de servicios de TI recopila datos de diagnóstico de sus sistemas de almacenamiento implementados en las instalaciones de sus clientes. Emplea un sistema Hadoop que ejecuta MapReduce sobre registros desestructurados e información de diagnóstico del sistema.
- Investigación: la investigación continua del proyecto del genoma humano emplea Hadoop MapReduce para procesar volúmenes masivos de datos. Asimismo, un popular proveedor de investigación de genética familiar ejecuta una marea cada vez mayor de datos de secuenciación genética, que incluye datos estructurados y desestructurados sobre nacimientos, muertes, resultados de censos, así como registros militares y de inmigración. Todo esto supone una cantidad enorme de petabytes que no deja de crecer.
- Comercio minorista: un comercio en línea líder emplea MapReduce para analizar enormes volúmenes de datos de registro y determinar así el comportamiento de los clientes, las recomendaciones de búsquedas y más. Unos grandes almacenes procesan los datos de campañas de marketing a través de un sistema Hadoop con el fin de obtener información y realizar campañas mejor dirigidas e incluso personalizadas para clientes individuales.
- Telecomunicaciones: el almacenamiento de miles de millones de registros de llamadas con acceso en tiempo real para los clientes se traduce en el procesamiento de cientos de terabytes de datos para un importante proveedor de telecomunicaciones.
¿Cómo ayuda HPE con MapReduce?
HPE cuenta con varias soluciones que pueden ayudarte a ahorrar tiempo, dinero y personal en la gestión de sistemas Hadoop que ejecutan MapReduce.
Por ejemplo, HPE Pointnext Services proporciona asesoramiento y asistencia técnica para la planificación, el diseño y la integración de tu entorno de análisis de Big Data. Simplifican el diseño e implementación de Hadoop (y MapReduce) a fin de que puedas centrarte plenamente en encontrar información analítica para tomar decisiones empresariales informadas.
Además, HPE GreenLake ofrece una solución escalable que simplifica radicalmente todo el ciclo de vida de Hadoop. Se trata de una solución global que incluye el hardware, software y soporte necesarios para entornos tanto simétricos como asimétricos. El método de definición de precios y facturación exclusivo de HPE te ayuda a comprender tus costes actuales de Hadoop y predecir mejor los futuros asociados con tu solución.
Tras años de experiencias de participación con los clientes en las que HPE ha prestado su ayuda en entornos Hadoop, hemos creado dos ediciones de una solución Hadoop de nivel empresarial que ya se encuentran probadas y listas para implementar. Se complementan con la HPE Insight Cluster Management Utility, que permite a los administradores de E/S de TI aprovisionar, gestionar y supervisar rápidamente sus infraestructuras e implementaciones Hadoop. La solución HPE GreenLake resulta compatible con la solución de la edición estándar de Hadoop de nivel empresarial de HPE.