Saturday, October 17, 2015

MapReduce: Simplified Data Processing on Large Clusters

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é.

No comments:

Post a Comment