Map Reduce - шаблон, который в последнее время, похоже, набирает обороты, и я начинаю видеть, что он проявляется в одном из моих проектов, сфокусированных на конвейере обработки событий (акселерометр iPhone и данные GPS).Мне нужно было создать много инфраструктуры для этого проекта, фактически он перевешивает логический код, взаимодействующий с ним в 2 раза.Некоторые из компонентов, которые я построил, были EventProcessors (с входными и выходными буферами, синхронизацией и т. Д.), EventListeners, Aggregators и поэтапным конвейером.
Это подводит меня к моему вопросу о том, что такое «общая» необходимая инфраструктура для уменьшения карты.Так как я много работаю с .Net, я вижу, что map уменьшает инфраструктуру, встроенную в Framework и языковые конструкции.Функциональные языки поддерживают эту парадигму как таковую.Кажется, что любой язык может быть использован с уменьшением карты.Есть даже языки встроенные вокруг этой концепции (например, Go).
Apache Hadoop приносит Map-Reduce в Java.Google запатентовал структуру сокращения карт .Какую инфраструктуру они предоставляют, чтобы позволить уменьшить карту?Какие конструкции представлены в функциональных языках для реализации сокращения карт?Что необходимо / должно обеспечить структура сокращения карт?