2010-03-15 15 views
6

Map Reducir es un patrón que parece obtener mucha tracción últimamente y empiezo a verlo manifiesto en uno de mis proyectos que está enfocado en un oleoducto de procesamiento de eventos (iPhone acelerómetro y datos de GPS). Necesitaba construir una gran cantidad de infraestructura para este proyecto, de hecho sobrepasa el código lógico que interactúa con él por 2x. Algunos de los componentes que construí fueron EventProcessors (con buffer de entrada y salida, timing, etc.), EventListeners, Aggregators y Pipeline en etapas.Map Reducir marcos/Infraestructura

Esto me lleva a mi pregunta cuál es la infraestructura requerida "común" para la reducción del mapa. Como estoy trabajando mucho con .Net, puedo ver mapas de infraestructura reducida en el Framework y construcciones de lenguaje. Los lenguajes funcionales respaldan este paradigma per se. Parece que todos los idiomas se pueden usar con la reducción de mapa. Incluso hay idiomas construidos alrededor de ese concepto (por ejemplo, Ir).

Apache Hadoop trae Map-Reduce a Java. Google tiene patented a map-reduce framework. ¿Qué tipo de infraestructura proporcionan para permitir la reducción de mapas? ¿Cuáles son los constructos exhibidos en los lenguajes funcionales para implementar map reduce? ¿Qué necesita/debe proporcionar un marco map-reduce?

+0

Foudn esta publicación interesante últimamente relacionada con MapReduce en .NET 4.0: http://ox.no/posts/minimalistic-mapreduce-in-net-4-0-with-the-new-task-parallel-library -tpl –

+0

Gracias por el enlace, pero no es demasiado profundo sobre el tema. –

+1

Hadoop no "intenta" llevar MR a Java. Es utilizado por Facebook y Yahoo para procesar PB de datos. Eso es más que "intentar". – skaffman

Respuesta

2

Well Hadoop se basa en el Google File System. La implementación de Hadoop MapReduce también se basa en a paper by Google. Tanto para Google como para Hadoop, el componente que permite que MapReduce ejecute exitosamente cantidades masivas de datos en paralelo es el sistema de archivos distribuidos.

1

Según tengo entendido, Hadoop generalmente se basa en la infraestructura HDFS y/o HBase, que actúa como el mecanismo de distribución de datos para que Hadoop opere.

También está Amazon Elastic MapReduce, que es una interfaz web brillante que usa EC2 y Hadoop para facilitar las cosas. La "infraestructura" en este caso es EC2 y S3.

P.S. Perdón por el comentario snippy :)