MapReduce — это модель распределённых вычислений, разработанная компанией Google для обработки больших объёмов данных на компьютерных кластерах. 14
Суть технологии заключается в разделении информационного массива на части, параллельной обработке каждой части на отдельном узле и финальном объединении всех результатов. 2
Процесс работы MapReduce состоит из трёх стадий: 45
- Map. 45 Предварительная обработка и фильтрация данных. 5 Главный узел кластера получает значения данных, делит их на части и распределяет по рабочим узлам. 4 Каждый рабочий узел сохраняет результат в формате «ключ — значение» во временном хранилище. 4
- Shuffle. 45 Рабочие узлы перераспределяют данные на основе ключей, созданных функцией Map, таким образом, что все данные одного ключа попадают в один рабочий узел. 4
- Reduce. 45 Одновременная обработка данных каждым рабочим узлом всех групп по порядку следования ключей и сбор результатов. 4 Главный узел получает промежуточные результаты от рабочих узлов и передаёт их на свободные узлы для выполнения следующего шага. 4 Итоговый результат является решением исходной задачи. 4
Некоторые области применения MapReduce: индексация веб-контента, подсчёт слов в большом файле, обработка статистики логов сети, построение инвертированных индексов, кластеризация документов, машинное обучение и статистический машинный перевод. 2