Что такое MapReduce?

Среда программирования MapReduce используется для выполнения распределенной и параллельной обработки больших наборов данных в распределенной среде. Map и Reduce - две разные задачи программы уменьшения карты. Сначала в фазе карты данные считываются, и из них генерируются пары ключ-значение. Затем эти пары ключ-значение подаются в задачу сокращения, которая объединяет данные пары ключ-значение в меньший набор значений, производящих окончательный результат. Таким образом, задача сокращения всегда выполняется после того, как задача карты была выполнена. Очень легко масштабировать обработку данных на нескольких вычислительных узлах.

В программе три этапа:

  1. Этап карты
  2. Стадия случайного воспроизведения
  3. Уменьшить этап

Пример :

Проблема Wordcount-

Предположим, ниже приведены входные данные:

  • Майк Джон Джейк
  • Пол Пол Джейк
  • Майк Пол Джон

1. Приведенные выше данные разделены на три входных разделения, как показано ниже:

  • Майк Джон Джейк
  • Пол Пол Джейк
  • Майк Пол Джон

2. Затем эти данные поступают в следующую фазу, называемую фазой картирования.

Итак, для первой строки (Mike Jon Jake) у нас есть 3 пары ключ-значение - Mike, 1; Джон, 1; Джейк, 1

Ниже приведен результат на этапе отображения:

  • Майк, 1
    Джон, 1
    Джейк, 1
  • Павел, 1
    Павел, 1
    Джейк, 1
  • Майк, 1
    Павел, 1
    Джон, 1

3. Указанные выше данные затем передаются на следующую фазу, которая называется фазой сортировки и перемешивания.

На этом этапе данные группируются в уникальные ключи и сортируются. Ниже приведен результат сортировки и перемешивания:

  • Джейк, (1, 1)
  • Джон, (1, 1)
  • Майк, (1, 1)
  • Пол, (1, 1, 1)

4. Указанные выше данные затем передаются на следующую фазу, называемую фазой восстановления.

Здесь все значения ключей агрегируются и подсчитывается количество единиц. Ниже приведен результат в фазе уменьшения:

  • Джейк, 2
  • Джон, 2
  • Майк, 2
  • Пол, 3

Преимущества MapReduce:

Здесь мы узнаем некоторые важные преимущества MapReduce Programming Framework,

1. Масштабируемость

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

2. Гибкость

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

3. Безопасность и аутентификация

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

4. Экономичное решение

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

5. Быстро

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

6. Простая модель программирования

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

7. Параллельная обработка

Модель программирования разделяет задачи таким образом, что позволяет выполнять независимую задачу параллельно. Следовательно, эта параллельная обработка облегчает процессам выполнение каждой из задач, что помогает запускать программу гораздо быстрее.

8. Доступность и эластичность

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

Есть много компаний по всему миру, использующих Map-Reduce, таких как Facebook, Yahoo и т. Д.

Вывод - что такое MapReduce

Функция сокращения карт обладает большими возможностями, когда речь идет об обработке больших объемов данных, по сравнению с традиционными системами СУБД. Многие организации уже осознали его потенциал и переходят на эту новую технологию. Понятно, что Map-Reduction имеет очень много времени на большой платформе обработки данных.

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

Это было руководство к тому, что такое MapReduce. Здесь мы обсудили Основную концепцию, примеры и Преимущества MapReduce. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Что такое JavaScript?
  2. MapReduce Интервью Вопросы
  3. Что такое Python
  4. Как работает MapReduce
  5. Что такое большие данные и Hadoop