Разница между Hadoop и MapReduce

Корни Hadoop уходят корнями в 2002 год, когда Dough Cutting работал над проектом с открытым исходным кодом Nutch (который использовался для индексации веб-страниц и использования проиндексированных веб-страниц для поиска, то же самое, что делает Google). Он столкнулся с проблемами масштабируемости как с точки зрения хранения, так и вычислений. В 2003 году Google опубликовал GFS (файловая система Google), а в 2004 году Nutch создал NDFS (распределенную файловую систему Nutch). После того, как Google объявил MapReduce своим вычислительным мозгом для своих алгоритмов сортировки, Dough смог запустить Nutch на NDFS и использовал MapReduce в 2005 году, а в 2006 году родился Hadoop.

Hadoop и MapReduce! Hadoop - это эко-система проектов с открытым исходным кодом, таких как Hadoop Common, распределенная файловая система Hadoop (HDFS), Hadoop YARN, Hadoop MapReduce. Hadoop как таковая является платформой с открытым исходным кодом для хранения и обработки огромных наборов данных. Хранение осуществляется HDFS, а обработка - MapReduce. MapReduce, с другой стороны, представляет собой модель программирования, которая позволяет обрабатывать огромные данные, хранящиеся в Hadoop. Мы подробно разбираемся в Hadoop и MapReduce в этом посте.

Сравнение лицом к лицу между Hadoop и MapReduce (инфографика)

Ниже приведено 5 лучших сравнений Hadoop и MapReduce.

Ключевые отличия Hadoop от MapReduce

Вот разница между Hadoop и MapReduce

  • Если мы хотим различить Hadoop и MapReduce с точки зрения непрофессионала, мы можем сказать, что Hadoop похож на автомобиль, в котором есть все, что нужно для преодоления расстояний, но MapReduce подобен двигателю автомобиля, поэтому без автомобиля двигатель не может " Существует, но внешний вид автомобиля может измениться (другие DFS (распределенные файловые системы)).
  • Основная идея Hadoop заключается в том, что данные должны быть надежными и масштабируемыми, надежными, так как в случае аварии или сбоя в сети данные должны быть доступны постоянно, и это достигается структурой Hadoop с использованием узлов имен и узлов данных.
  • Некоторая основная идея узлов данных и имен узлов

  • Основная идея архитектуры Узла данных и Узла имени заключается в архитектуре «главный / подчиненный», в которой один хранит местоположение данных (Узел имени), а другой хранит сами данные (Узел данных). Данные разбиты на куски по 64 Мб и сохранены в блоках данных, а их реестр поддерживается на узле имен. Данные реплицируются трижды по умолчанию для надежности. Говоря о масштабируемости, оборудование может быть увеличено на ходу, и это помогает увеличить объем хранилища и сделать систему масштабируемой.
  • Сейчас в MapReduce есть три этапа
    1. Фаза карты
    2. Shuffle Phase
    3. Уменьшить фазу

Давайте возьмем пример, чтобы понять это лучше. MapReduce, являющаяся платформой программирования, также имеет программу hello world, но в MapReduce она называется программой подсчета слов.

Программа Word Count дает нам пары ключ-значение слова и его частоту в абзаце / статье или любом источнике данных. Чтобы это было легко понять, давайте возьмем приведенные ниже в качестве примера данные.

В наборе данных, как мы видим, у нас есть три слова: автобус, машина и поезд. Столбец с именем Input содержит данные, которые есть в наборе данных, а столбец Output содержит данные на промежуточном этапе, где будет происходить перемешивание.

Здесь мы принимаем разделитель как запятую (, ) для разделения слов. Разделитель может быть запятой или пробелом или новой строкой и т. Д.

входНабор данныхАВТОМОБИЛЬ, АВТОМОБИЛЬ, АВТОМОБИЛЬ, АВТОБУС, ПОЕЗД, АВТОБУС, ПОЕЗД, АВТОБУС, ПОЕЗД, АВТОБУС, АВТОБУС, АВТОМОБИЛЬ, АВТОБУС, АВТОМОБИЛЬ, АВТОБУС, АВТОБУС, АВТОМОБИЛЬ
ВыходПреобразовать в другой набор данных

(Key, Value)

(Автобус, 1), (Автомобиль, 1), (Автобус, 1), (Автомобиль, 1), (Поезд, 1),

(автомобиль, 1), (автобус, 1), (автомобиль, 1), (поезд, 1), (автобус, 1),

(TRAIN, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(авто, 1), (АВТОБУС, 1), (ПОЕЗД, 1)

И выход вышеупомянутой промежуточной ступени дается редуктору, а ниже - окончательный вывод программы.

вход

(вывод функции Map)

Набор кортежей(Автобус, 1), (Автомобиль, 1), (Автобус, 1), (Автомобиль, 1), (Поезд, 1),

(автомобиль, 1), (автобус, 1), (автомобиль, 1), (поезд, 1), (автобус, 1),

(TRAIN, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(авто, 1), (АВТОБУС, 1), (ПОЕЗД, 1)

ВыходПреобразует в меньший набор кортежей(BUS, 7),

(CAR, 7),

(ТРЕЙН, 4)

  • Одним из ключевых отличий Hadoop от других сред обработки больших данных является то, что Hadoop отправляет код (код MapReduce) в кластеры, в которых хранятся данные, а не отправляет данные в код, как наборы данных будут в ТБ или иногда в ПБ. это будет утомительное занятие.

Сравнительная таблица Hadoop и MapReduce

Основа для сравненияHadoopУменьшение карты

Смысл

Имя «Hadoop» было именем игрушечного слона сына Дуга Каттинга. Он назвал этот проект «Hadoop», так как его было легко произнести.Название «MapReduce» появилось в соответствии с самой функциональностью сопоставления и сокращения пар ключ-значение.

концепция

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

Предпосылки

Hadoop работает на реализациях HDFS (распределенная файловая система Hadoop)MapReduce может работать в HDFS / GFS / NDFS или любой другой распределенной файловой системе, например MapR-FS

язык

Hadoop представляет собой набор всех модулей и, следовательно, может включать в себя и другие языки программирования / сценариев.MapReduce в основном написан на языке программирования Java

Фреймворк

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

Приведенный ниже рисунок поможет отличить MapReduce от Hadoop.

MapReduce Framework

  • Как видно из рисунка выше, MapReduce представляет собой инфраструктуру распределенной обработки, тогда как Hadoop представляет собой совокупность всех инфраструктур.

Вывод - Hadoop vs MapReduce

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

С учетом постоянно меняющихся потребностей мира технологии быстро меняются, и становится трудно отслеживать изменения. Данные, которые генерируются за месяц, удваиваются / утраиваются, когда вы читаете эту статью, и необходимость более быстрой обработки наборов данных привела к появлению многих других сред программирования, таких как MapReduce 2, Spark и т. Д.

Рекомендуемые статьи

Это было руководство по Hadoop vs MapReduce, их значению, сравнению «голова к голове», ключевым различиям, сравнительной таблице и выводам. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Разница между Hadoop и Redshift
  2. Узнайте 6 лучших различий между Apache Hadoop и Apache Storm
  3. Сравнение между Hadoop и SQL
  4. Знать о MapReduce против Spark
  5. Hadoop vs Spark: функции
  6. Laravel vs Codeigniter: функции