Разница между 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 есть три этапа
- Фаза карты
- Shuffle Phase
- Уменьшить фазу
Давайте возьмем пример, чтобы понять это лучше. 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, их значению, сравнению «голова к голове», ключевым различиям, сравнительной таблице и выводам. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Разница между Hadoop и Redshift
- Узнайте 6 лучших различий между Apache Hadoop и Apache Storm
- Сравнение между Hadoop и SQL
- Знать о MapReduce против Spark
- Hadoop vs Spark: функции
- Laravel vs Codeigniter: функции