Карта Уменьшает, шаблон, который, кажется, получает большую тягу в последнее время, и я начинаю видеть, что он проявляет в одном из моих проектов, который фокусируется на конвейере обработки событий (iPhone Accelerometer и данные GPS). Мне было нужно к созданному много инфраструктуры для этого проекта, на самом деле это перевешивает логический код, взаимодействующий с ним 2x. Некоторые компоненты я создал где EventProcessors (с в - и outputbuffers, синхронизировав и т.д.), EventListeners, Агрегаторы и подготовленный Конвейер.
Это приводит меня к моему вопросу, что "общее" потребовало, чтобы infrastrucutre для карты уменьшили. Так как я работаю с .NET много, я вижу, что карта уменьшает инфраструктуру, встроенную в конструкции языка и Платформу. Функциональные языки поддерживают эту парадигму по сути. Кажется, что каждый язык может использоваться с картой, уменьшают. Существуют даже языки, созданные вокруг того понятия (например, Пойдите).
Apache Hadoop приносит MapReduce к Java. Google запатентовал карту - уменьшают платформу. Какую инфраструктуру они обеспечивают для включения карты, уменьшают? Что конструкции показаны на функциональных языках для реализации карты, уменьшают? Что нуждается/должно в карте - уменьшают платформу, обеспечивают?
Итак, Hadoop основан на файловой системе Google . Реализация Hadoop MapReduce также основана на статье Google . Как для Google, так и для Hadoop компонент, который позволяет MapReduce успешно обрабатывать большие объемы данных параллельно, является распределенной файловой системой.
Насколько я понимаю, Hadoop обычно основан на инфраструктуре HDFS и / или HBase, которая действует как механизм распределения данных для работы самого Hadoop.
Также существует Amazon Elastic MapReduce, блестящий веб-интерфейс, который для упрощения работы использует EC2 и Hadoop. «Инфраструктура» в данном случае - это EC2 и S3.
P.S. Извините за короткий комментарий :)
Поскольку вы привыкли работать с .NET, вы можете посмотреть DryadLINQ. http://research.microsoft.com/en-us/downloads/03960cab-bb92-4c5c-be23-ce51aee0792c/default.aspx