La canción de esta entrada será "Maps" de Maroon 5, espero les guste.
MapReduce es un modelo de programación que facilita el procesamiento de múltiples datos de forma paralela, la forma en la que este modelo funciona es facilitando un modulo MapReduce que recibe una función Map a aplicar a un set de datos, la funcionalidad de Map es recibir llaves y valores de un set de datos y generar una lista con las llaves y los valores posteriormente se utiliza la función Reduce, que toma la lista y la procesa de forma que devuelva una lista de valores, lo interesante del modelo es que abstrae los detalles de implementación de los módulos encargados de la sincronización de las funciones entre múltiples hilos de ejecución, permitiendo al desarrollador enfocarse en la transformación que desea realizar en los datos obtenidos.
La funcionalidad más atractiva de MapReduce es el hecho de poder distribuir una tarea entre múltiples unidades de procesamiento sin preocuparse por balanceo de cargas o sincronización, el modelo ha sido tan efectivo que ha sido implementado en prácticamente cualquier lenguaje de programación decente (¡incluso ha sido implementado en Lua!).
El artículo me pareció interesante, sin embargo, me hubiera gustado que tuviera más ejemplos de código para entender de una forma menos abstracta cómo está utilizando Google el modelo de MapReduce.
Wololo.
No hay comentarios:
Publicar un comentario