Прямо изо рта лошади :
Hadoop - это платформа для запуска приложений на больших кластерах, построенных из стандартного оборудования. Платформа Hadoop прозрачно обеспечивает приложениям как надежность, так и движение данных. Hadoop реализует вычислительную парадигму с именем Map / Reduce, где приложение разбивается на множество небольших фрагментов работы, каждый из которых может быть выполнен или повторно выполнен на любом узле в кластере. Кроме того, он предоставляет распределенную файловую систему (HDFS), которая хранит данные на вычислительных узлах, обеспечивая очень высокую совокупную пропускную способность в кластере. И Map / Reduce, и распределенная файловая система спроектированы таким образом, что сбои узлов автоматически обрабатываются платформой.
Map / Reduce - это парадигма программирования, которая стала популярной в Google, где задача делится на небольшие части и распределяется по большому количеству узлов для обработки (отображения), а затем результаты обобщаются в окончательный ответ (уменьшить ). Google и Yahoo используют это для своих технологий поисковой машины, между прочим.
Hadoop - это общая структура для реализации такого рода схемы обработки. Что касается того, почему он пинает задницу, главным образом потому, что он обеспечивает аккуратные функции, такие как отказоустойчивость, и позволяет вам собрать практически любое оборудование для обработки. Он также очень хорошо масштабируется, если ваша проблема соответствует парадигме.
Вы можете прочитать все об этом на сайте .
Что касается некоторых примеров, Пол привел несколько примеров, но вот еще несколько, которые вы могли бы сделать, но не такие веб-ориентированные:
- Рендеринг 3D фильма. Шаг "map" распределяет геометрию для каждого кадра по разному узлу, узлы отображают его, и визуализированные кадры рекомбинируются на этапе "Reduce".
- Вычисление энергии в системе в молекулярной модели. Каждый кадр системной траектории распределяется по узлу на шаге «карта». Узлы вычисляют энергию для каждого кадра,
а затем результаты суммируются на этапе «уменьшения».
По сути, модель очень хорошо работает для задачи, которая может быть разбита на аналогичные дискретные вычисления, которые полностью независимы и могут быть объединены для получения окончательного результата.