MapReduce - Что-нибудь еще, кроме подсчета слов? - PullRequest
4 голосов
/ 02 декабря 2011

Я смотрел на MapReduce и читал различные статьи о нем и его приложениях, но мне кажется, что MapReduce подходит только для очень узкого класса сценариев, которые в конечном итоге приводят к подсчету слов.

Если вы посмотрите на оригинальную статью сотрудники Google предоставляют «различные» потенциальные варианты использования, такие как «распределенный grep», «распределенная сортировка», «обратный график веб-ссылок», «термин-вектор на хозяин "и др. Но если вы посмотрите поближе, все эти проблемы сводятся к простому «подсчету слов» - то есть подсчет количества вхождений чего-либо в порции данных, затем агрегирование / фильтрация и сортировка этого списка вхождений.

В некоторых случаях MapReduce использовался для генетических алгоритмов или реляционных баз данных, но они не используют «ванильный» MapReduce, опубликованный Google. Вместо этого они вводят дальнейшие шаги по цепочке Map-Reduce, такие как Map-Reduce-Merge и т. Д.

Вам известны какие-либо другие (задокументированные?) Сценарии, в которых "ванильный" MapReduce использовался не только для подсчета слов? (Может быть, для трассировки лучей, транскодирования видео, криптографии и т. Д. - в общем, что-нибудь «тяжелое для вычислений», которое можно распараллелить)

Ответы [ 4 ]

4 голосов
/ 02 декабря 2011

Атброкс поддерживал mapreduce hadoop algorithms in academic papers. Вот ссылка . Все это можно применять для практических целей.

2 голосов
/ 02 декабря 2011

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

1 голос
/ 02 декабря 2011

Существуют проекты, использующие MapReduce для параллельных вычислений в статистике.Например, Revolutions Analytics запустила проект RHadoop для использования с R. Hadoop также используется в вычислительной биологии и в других областях с большими наборами данных, которые могут быть проанализированы многими отдельными заданиями.

0 голосов
/ 18 февраля 2012

Я являюсь автором одного из пакетов в RHadoop, и я написал несколько примеров, распространяемых с источником и используемых в Учебном пособии, логистической регрессии, линейных наименьших квадратов, умножении матриц и т. Д. Есть также статья, которую я хотел бырекомендуем http://www.mendeley.com/research/sorting-searching-simulation-mapreduce-framework/, который, кажется, решительно поддерживает эквивалентность mapreduce с классическими моделями параллельного программирования, такими как PRAM и BSP.Я часто пишу алгоритмы mapreduce как порты из алгоритмов PRAM, см., Например, blog.piccolboni.info/2011/04/map-reduce-algorithm-for-connected.html.Так что я думаю, что область действия mapreduce явно больше, чем «смущающая параллель», но не бесконечна.Я сам испытывал некоторые ограничения, например, в ускорении некоторых симуляций MCMC.Конечно, это мог быть я, не использующий правильный подход.Мое эмпирическое правило таково: если проблема может быть решена параллельно за O (log (N)) время на O (N) процессорах, то это хороший кандидат на mapreduce с O (log (N)) заданиямии постоянное время, затрачиваемое на каждую работу.Другие люди и упомянутая мною статья, кажется, больше сосредоточены на деле о O (1).Когда вы выходите за пределы времени O (log (N)), случай для MR кажется немного слабее, но некоторые ограничения могут быть присущи текущей реализации (высокие накладные расходы), а не фундаментальные.Это довольно увлекательное время, чтобы работать над составлением карты территории MR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...