Карта Уменьшить Рамки / Инфраструктура - PullRequest
6 голосов
/ 15 марта 2010

Map Reduce - шаблон, который в последнее время, похоже, набирает обороты, и я начинаю видеть, что он проявляется в одном из моих проектов, сфокусированных на конвейере обработки событий (акселерометр iPhone и данные GPS).Мне нужно было создать много инфраструктуры для этого проекта, фактически он перевешивает логический код, взаимодействующий с ним в 2 раза.Некоторые из компонентов, которые я построил, были EventProcessors (с входными и выходными буферами, синхронизацией и т. Д.), EventListeners, Aggregators и поэтапным конвейером.

Это подводит меня к моему вопросу о том, что такое «общая» необходимая инфраструктура для уменьшения карты.Так как я много работаю с .Net, я вижу, что map уменьшает инфраструктуру, встроенную в Framework и языковые конструкции.Функциональные языки поддерживают эту парадигму как таковую.Кажется, что любой язык может быть использован с уменьшением карты.Есть даже языки встроенные вокруг этой концепции (например, Go).

Apache Hadoop приносит Map-Reduce в Java.Google запатентовал структуру сокращения карт .Какую инфраструктуру они предоставляют, чтобы позволить уменьшить карту?Какие конструкции представлены в функциональных языках для реализации сокращения карт?Что необходимо / должно обеспечить структура сокращения карт?

Ответы [ 3 ]

2 голосов
/ 18 марта 2010

Well Hadoop основан на файловой системе Google . Реализация Hadoop MapReduce также основана на статье Google . Как для Google, так и для Hadoop компонент распределенной файловой системы, позволяющий MapReduce успешно работать параллельно на больших объемах данных, является распределенной файловой системой.

1 голос
/ 17 марта 2010

Насколько я понимаю, Hadoop, как правило, основан на инфраструктуре HDFS и / или HBase, которая выступает в качестве механизма распределения данных для самого Hadoop.

Существует также Amazon Elastic MapReduce, блестящий веб-интерфейс, использующий EC2 и Hadoop для упрощения работы. «Инфраструктура» в этом случае - EC2 и S3.

P.S. Извините за смешной комментарий:)

0 голосов
/ 23 марта 2010

Поскольку вы привыкли работать с .NET, вы можете взглянуть на DryadLINQ. http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx

...