MapReduce:
Simplified Data Processing on Large Clusters es el artículo que nos tocó leer
esta vez. MapReduce es un modelo de programación que se utiliza para análisis de
datos muy grandes. Esto se logra con la ayuda de concurrencia a lo largo de múltiples
computadores para su buen funcionamiento y con una gran tolerancia a fallas. Este
modelo de programación es muy conocido en muchas áreas de programación, en la
materia de Lenguajes de Programación utilizamos alguna versión un poco “primitiva”
de la misma para resolver problemas que requieran mucho tiempo de cálculo.
MapReduce es una herramienta clave para la utilización en sistemas para el análisis
de big data. Con la ayuda de este, se puede utilizar hardware más barato pero
en masa para lograr resultados increíbles ya que MapReduce puede acceder fácilmente
a sistemas de datos, bases de datos e incluso en el manejo de archivos no
estructurados.
Por la
forma en la que se maneja MapReduce, sería bastante interesante verlo ser usado
en lenguajes de programación como Erlang, que están enfocados principalmente en
multi threading y que al igual que el mismo modelo de programación, también tiene
sus partes que lo convierten libre de errores.
Viendo
desde un punto de vista la implementación de un método MapReduce, me puedo dar
cuenta que hasta cierto punto es muy sencillo y de lo que he aprendido en
Clojure, muy fácil de utilizar y reutilizar. Una vez que puedas entender que
hace cada una de sus componentes, puedes verdaderamente domar el método por
completo, Map lo utilizamos muchísimo cuando trabajamos con datos que requieren
de muchos incides, o que puede estar en algún
formato que en realidad no necesitamos. Y el Reduce es algo nuevo que conocí y
lo vi en Clojure, este recibe todas las entradas posibles de una lista y los
reduce a partir de un operador que se le dé.