Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-14 GMT+08:00

Principios básicos de MapReduce

MapReduce es el núcleo de Hadoop. Como arquitectura de software propuesta por Google, MapReduce se utiliza para el cálculo paralelo de conjuntos de datos a gran escala (más de 1 TB). Los conceptos "Map" y "Reduce" y sus pensamientos principales son tomados del lenguaje de programación funcional y también tomados de las características del lenguaje de programación vectorial.

La implementación de software actual es la siguiente: Especificar una función de Map para mapear una serie de pares de clave-valor en una nueva serie de pares de clave-valor, y especificar una función Reduce para asegurarse de que todos los valores en los pares clave-valor mapeados comparten la misma clave.

Figura 1 Motor de procesamiento por lotes distribuido

MapReduce es un marco de software para procesar grandes conjuntos de datos en paralelo. La raíz de MapReduce es las funciones de Map y Reduce en la programación funcional. La función Map acepta un grupo de datos y los transforma en una lista de pares de clave-valor. Cada elemento en el dominio de entrada corresponde a un par de clave-valor. La función Reduce acepta la lista generada por la función Map y, a continuación, reduce la lista de pares de clave-valor en función de las claves. MapReduce divide una tarea en varias partes y las asigna a diferentes dispositivos para su procesamiento. De esta manera, la tarea puede finalizarse en un entorno distribuido en lugar de en un único servidor potente.

Para obtener más información, consulte Tutorial de MapReduce.

Estructura de MapReduce

Como se muestra en Figura 2, MapReduce se integra en YARN a través de las interfaces de Cliente y ApplicationMaster de YARN, y utiliza YARN para solicitar recursos informáticos.

Figura 2 Arquitectura básica de Apache YARN y MapReduce