MapReduce se utiliza para procesar de manera distribuida grandes volúmenes de datos.
Este proyecto OpenSource lo lideró Yahoo en un primer momento pero actualmente lo lideran desde el “proyecto apache”.
La utilidad más popular que le dio Google fue para calcular el Pagerank de las páginas web. El Pagerank es un medidor de la importancia que tiene una página web en función de todos los links entrantes, de los links que apuntan a esa página.
Desde hace algunos años está en desuso y el valor de Pagerank de una página no se actualiza.
MapReduce se utiliza para poder resolver de manera distribuida algunos algoritmos que puedan ser paralelizados, que puedan lanzarse desde un sistema distribuido.
Por lo general realizan funciones con grandes grupos de datos, alcanzando los petabytes de tamaño, por lo que es necesario poder resolverlos desde sistemas distribuidos.
La función Map es la que realiza la función de mapeo y cada tupla se compone de una clave y un valor. Está función se realiza en paralelo a cada par de conjunto de datos, y nos devolverá una lista de pares.
La función Reduce trata de agrupar los valores que ha devuelto la función Map en cada elemento del sistema distribuido y general una lista final con la agrupación de los valores que obtuvimos con la función Map.
La arquitectura del sistema sería asi: