2009-04-01 4 views

ответ

5

Для проблем, требующих обработки и создания больших наборов данных. Скажите, что запрос на получение процентов распространяется на все учетные записи банка. Скажем, обрабатывать данные аудита для всех транзакций, которые произошли в прошлом году в банке. Лучший вариант использования - это поисковый индекс Google для поисковой системы Google.

3

Все, что связано с выполнением операций над большим набором данных, где проблема может быть разбита на более мелкие независимые под-проблемы, результаты которых затем могут быть агрегированы для получения ответа на большую проблему.

Тривиальный пример будет вычислять сумму огромного набора чисел. Вы разбиваете множество на более мелкие множества, вычисляете суммы этих меньших множеств параллельно (что может включать разделение их на еще меньшие множества), а затем суммируйте эти результаты, чтобы достичь окончательного ответа.

5

Многие проблемы, которые являются «Смутно параллельными» (отличная фраза!), Могут использовать MapReduce. http://en.wikipedia.org/wiki/Embarrassingly_parallel

Из этой статьи .... http://www.businessweek.com/magazine/content/07_52/b4064048925836.htm ...

Doug Cutting, основатель Hadoop (реализация с открытым исходным кодом MapReduce) говорит ... «Facebook использует Hadoop для анализа поведения пользователей и эффективность объявлений на сайте «

и ...» техническая команда The New York Times арендовала вычислительную мощность на облаке Amazon и использовала Hadoop для конвертации 11 миллионов архивных статей, относящихся к 1851 году, в цифровую и поисковую документы. В один день они развернули работу, которая в противном случае имела бы ан месяцев.»

9

В Map-Reduce for Machine Learning on Multicore Чу и др описывают„алгоритмы, которые соответствуют модели статистического запроса может быть записана в определенном „виде суммы“, ​​которая позволяет им быть легко распараллелить на многоядерных компьютерах.“Они специально реализовать 10 алгоритмов, включая, например, взвешенную линейную регрессию, k-средства, Naive Bayes и SVM, используя каркас сокращения.

Проект Apache Mahout выпустил недавнюю реализацию Hadoop (Java) некоторых методов, основанных на идеях из этой статьи.

2

Вы также можете посмотреть videos @ Google, я сам их наблюдаю, и я нахожу их очень образовательными.

3

Ответ лежит на самом деле во имя алгоритма. MapReduce - это не работа по параллельному программированию общего назначения или пакетная реализация, как предлагают некоторые из ответов. Уменьшение карты действительно полезно, когда больших наборов данных, которые необходимо обработать (этап сопоставления), и получить определенные атрибуты оттуда, а затем их следует обобщить на эти производные атрибуты (фаза сокращения).

1

Этот вопрос был задан до его времени. С 2009 года фактически проведен теоретический анализ вычислений MapReduce. В этой статье 2010 года Howard Karloff et al. формализуется MapReduce как класс сложности так же, как теоретики изучают P и NP.Они доказывают некоторые отношения между MapReduce и классом NC (который можно рассматривать как параллельные компьютеры с разделяемой памятью или определенный класс ограниченных схем). Но основной частью работы являются их формальные определения.

Смежные вопросы