what reducción historia función firma concepto basa algoritmo parallel-processing mapreduce

parallel-processing - reducción - mapreduce what is



¿Qué tipo de problemas puede resolver mapreduce? (8)

En Map-Reduce for Machine Learning en Multicore, Chu et al describen que "los algoritmos que se ajustan al modelo Statistical Query pueden escribirse en una cierta" forma de resumen ", lo que les permite paralelizarse fácilmente en computadoras multinúcleo". Específicamente implementan 10 algoritmos que incluyen, por ejemplo, regresión lineal ponderada, k-medias, Naive Bayes y SVM, utilizando un marco map-reduce.

El proyecto Apache Mahout ha lanzado una implementación reciente Hadoop (Java) de algunos métodos basados ​​en las ideas de este documento.

¿Hay algún análisis teórico disponible que describa qué tipo de problemas puede resolver mapreduce?


Esta pregunta fue hecha antes de su tiempo. Desde 2009, ha habido un análisis teórico de los cálculos de MapReduce. Este artículo de 2010 de Howard Karloff et al. formaliza MapReduce como una clase de complejidad de la misma manera que los teóricos estudian P y NP. Prueban algunas relaciones entre MapReduce y una clase llamada NC (que se puede considerar máquinas paralelas de memoria compartida o una cierta clase de circuitos restringidos). Pero la pieza principal del trabajo son sus definiciones formales.


La respuesta está en el nombre del algoritmo. MapReduce no es un trabajo de programación en paralelo de propósito general o un marco de ejecución por lotes, como sugieren algunas de las respuestas. Map Reduce es realmente útil cuando se necesitan procesar grandes conjuntos de datos (fase de mapeo) y derivar ciertos atributos de allí, y luego se debe resumir en los atributos derivados (Fase de reducción).


Muchos problemas que son "embarazosamente paralelos" (¡excelente frase!) Pueden usar MapReduce. http://en.wikipedia.org/wiki/Embarrassingly_parallel

De este artículo ... http://www.businessweek.com/magazine/content/07_52/b4064048925836.htm ...

Doug Cutting, fundador de Hadoop (una implementación de código abierto de MapReduce) dice ... "Facebook usa Hadoop para analizar el comportamiento del usuario y la efectividad de los anuncios en el sitio"

y ... "el equipo de tecnología de The New York Times alquiló poder de cómputo en la nube de Amazon y usó Hadoop para convertir 11 millones de artículos archivados, que datan de 1851, en documentos digitales y de búsqueda. Dieron la vuelta en un solo día a un trabajo que de otro modo habría llevado meses ".


Para problemas que requieren procesamiento y generación de grandes conjuntos de datos. Digamos que ejecuta una consulta de generación de intereses sobre todas las cuentas de un banco. Digamos procesar datos de auditoría para todas las transacciones que ocurrieron el año pasado en un banco. El mejor caso de uso es el de Google, que genera el índice de búsqueda para el motor de búsqueda de Google.


También puedes ver los videos en Google , los estoy viendo yo mismo y los encuentro muy educativos.


Todo lo que implique realizar operaciones en un gran conjunto de datos, donde el problema se puede dividir en sub-problemas independientes más pequeños cuyos resultados se pueden agregar para producir la respuesta al problema más grande.

Un ejemplo trivial sería calcular la suma de un gran conjunto de números. Se divide el conjunto en conjuntos más pequeños, se calculan las sumas de esos conjuntos más pequeños en paralelo (lo que puede implicar dividirlos en conjuntos aún más pequeños), luego se suman esos resultados para llegar a la respuesta final.