Что такое Hadoop и для чего он используется? [закрыто]

28

Некоторое время я наслаждался чтением ServerFault, и я наткнулся на довольно много тем по Hadoop. У меня были небольшие проблемы с выяснением того, что он делает с глобальной точки зрения.

Поэтому мой вопрос довольно прост: что такое Hadoop? Что оно делает ? Для чего это используется ? Почему это надрать задницу?

Редактировать: если у кого-то есть демонстрации / объяснения случаев использования Hadoop, это было бы замечательно.

Антуан Бенкемун
источник
Facebook интенсивно использует Hadoop (ну, в действительности, Hive, который является слоем поверх Hadoop). Есть хорошая запись об этом на странице Facebook Engineering. facebook.com/note.php?note_id=89508453919
Джон Мигер
Hadoop - это инфраструктура, которая упрощает обработку большого объема данных ( больших данных ), распределяя кластеры данных между узлами / серверами и обеспечивая параллельный запуск процесса. Этот процесс / алгоритм известен как MapReduce.
Mr_Green

Ответы:

26

Прямо изо рта лошади :

Hadoop - это платформа для запуска приложений на больших кластерах, построенных из стандартного оборудования. Платформа Hadoop прозрачно обеспечивает приложениям как надежность, так и движение данных. Hadoop реализует вычислительную парадигму с именем Map / Reduce, где приложение разбивается на множество небольших фрагментов работы, каждый из которых может быть выполнен или повторно выполнен на любом узле в кластере. Кроме того, он предоставляет распределенную файловую систему (HDFS), которая хранит данные на вычислительных узлах, обеспечивая очень высокую совокупную пропускную способность в кластере. И Map / Reduce, и распределенная файловая система спроектированы таким образом, что сбои узлов автоматически обрабатываются платформой.

Map / Reduce - это парадигма программирования, которая стала популярной в Google, где задача делится на небольшие части и распределяется по большому количеству узлов для обработки (отображения), а затем результаты обобщаются в окончательный ответ (уменьшить ). Google и Yahoo используют это для своих технологий поисковой машины, между прочим.

Hadoop - это общая структура для реализации такого рода схемы обработки. Что касается того, почему он пинает задницу, главным образом потому, что он обеспечивает аккуратные функции, такие как отказоустойчивость, и позволяет вам собрать практически любое оборудование для обработки. Он также очень хорошо масштабируется, если ваша проблема соответствует парадигме.

Вы можете прочитать все об этом на сайте .

Что касается некоторых примеров, Пол привел несколько примеров, но вот еще несколько, которые вы могли бы сделать, но не такие веб-ориентированные:

  • Рендеринг 3D фильма. Шаг "map" распределяет геометрию для каждого кадра по разному узлу, узлы отображают его, и визуализированные кадры рекомбинируются на этапе "Reduce".
  • Вычисление энергии в системе в молекулярной модели. Каждый кадр системной траектории распределяется по узлу на шаге «карта». Узлы вычисляют энергию для каждого кадра,
    а затем результаты суммируются на этапе «уменьшения».

По сути, модель очень хорошо работает для задачи, которая может быть разбита на аналогичные дискретные вычисления, которые полностью независимы и могут быть объединены для получения окончательного результата.

Камил Кисиэль
источник
Спасибо за ваш ответ. Таким образом, в основном он принимает приложения (PHP? Java?) И разбивает их на части и распределяет работу среди множества узлов? Что касается HDFS, это похоже на OCFS, за исключением нескольких узлов?
Антуан Бенкемун
Заинтересованы в этом, а также. Я хотел бы видеть более конкретные, реальные примеры слов хотя.
Каролис Т.
Это было то, что я искал также :-)
Антуан Бенкемун
10

У Cloudera есть несколько отличных видео, которые объясняют принципы Map Reduce и Hadoop

http://www.cloudera.com/hadoop-training-basic

Одна из основных идей MapReduce заключается в том, что для больших наборов данных вы будете привязаны к дискам, поэтому в Hadoop HDFS вы сможете разделить объекты между множеством узлов, что позволит выполнять параллельную обработку.

Некоторое использование Hadoop, представляющее интерес для системных администраторов, часто связано с обработкой больших наборов файлов журналов - я могу опубликовать только одну ссылку, но они включают: Google должен найти их:

  1. Rackspace mail log query
  2. Анализ логов Apache со свиньей - см. Блог Cloudera
  3. Yahoo! бороться со спамом

источник
Выглядит хорошо, я посмотрю :-)
Антуан Бенкемун
1

Изначально hadoop разрабатывался для большого количества наборов данных в среде OLAP.

С введением Hbase поверх hadoop, тростник можно использовать и для OLAP Processing. Hadoop - это фреймворк со всеми подкомпонентами, такими как map lower, hdfs, hbase, pig.

На первом месте представлена ​​статья с основами hadoop в разделе Почему Hadoop .

В Hadoop хранилище данных в виде файлов, а не таблиц, столбцов.

Дипак
источник