32 votes

Quel type de problèmes mapreduce peut-il résoudre ?

Existe-t-il une analyse théorique qui décrit le type de problèmes que mapreduce peut résoudre ?

9voto

bubaker Points 1680

Sur Map-Reduce pour l'apprentissage automatique sur multicoeur Chu et al décrivent "les algorithmes qui correspondent au modèle de requête statistique peuvent être écrits sous une certaine "forme de sommation", ce qui leur permet d'être facilement parallélisés sur des ordinateurs multicœurs". Ils implémentent spécifiquement 10 algorithmes incluant par exemple la régression linéaire pondérée, k-Means, Naive Bayes, et SVM, en utilisant un cadre map-reduce.

Le site Apache Mahout a publié une récente mise en œuvre Hadoop (Java) de certaines méthodes basées sur les idées de cet article.

5voto

sangupta Points 1489

Pour les problèmes nécessitant le traitement et la génération de grands ensembles de données. Par exemple, exécuter une requête de génération d'intérêts sur tous les comptes détenus par une banque. Par exemple, le traitement des données d'audit pour toutes les transactions qui ont eu lieu au cours de l'année écoulée dans une banque. Le meilleur cas d'utilisation est celui de Google - générer un index de recherche pour le moteur de recherche de Google.

5voto

ChrisV Points 1325

De nombreux problèmes qui sont "Embarrassingly Parallel" (belle expression !) peuvent utiliser MapReduce. http://en.wikipedia.org/wiki/Embarrassingly_parallel

De cet article.... http://www.businessweek.com/magazine/content/07_52/b4064048925836.htm ...

Doug Cutting, fondateur de Hadoop (une implémentation open source de MapReduce) dit... "Facebook utilise Hadoop pour analyser le comportement des utilisateurs et l'efficacité des publicités sur le site"

et... "l'équipe technique du New York Times a loué de la puissance de calcul sur le cloud d'Amazon et a utilisé Hadoop pour convertir 11 millions d'articles archivés, remontant à 1851, en documents numériques et consultables. Ils ont réalisé en une seule journée un travail qui, autrement, aurait pris des mois."

3voto

Eric Petroelje Points 40734

Tout ce qui implique d'effectuer des opérations sur un grand ensemble de données, où le problème peut être décomposé en petits sous-problèmes indépendants dont les résultats peuvent ensuite être agrégés pour produire la réponse au grand problème.

Un exemple trivial serait de calculer la somme d'un énorme ensemble de chiffres. Vous divisez l'ensemble en plusieurs ensembles plus petits, vous calculez les sommes de ces ensembles plus petits en parallèle (ce qui peut impliquer de les diviser en ensembles encore plus petits), puis vous additionnez ces résultats pour obtenir la réponse finale.

3voto

user606308 Points 31

La réponse se trouve en réalité dans le nom de l'algorithme. MapReduce n'est pas un travail de programmation parallèle d'usage général ou un cadre d'exécution par lots comme certaines réponses le suggèrent. Map Reduce est vraiment utile lorsque grand site les ensembles de données qui doivent être traités (phase de cartographie) et en déduire certains attributs, puis les résumer sur la base de ces attributs dérivés (phase de réduction).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X