Что такое MapReduce в Hadoop? Большие данные Archiтекстура

Что такое MapReduce в Hadoop?

Уменьшение карты — это программная среда и модель программирования, используемая для обработки огромных объемов данных. Уменьшение карты Программа работает в два этапа, а именно Map и Reduc. Задачи Map связаны с разделением и сопоставлением данных, а задачи сокращения перетасовывают и сокращают данные.

Hadoop способен запускать программы MapReduce, написанные на разных языках: Java, Рубин, Python и C++Программы Map Reduce в облачных вычислениях являются параллельными по своей природе, поэтому они очень полезны для выполнения крупномасштабного анализа данных с использованием нескольких машин в кластере.

Вход на каждую фазу ключ-значение пары. Кроме того, каждому программисту необходимо указать две функции: функция карты и уменьшить функцию.

Уменьшение карты ArchiТехнология больших данных объяснена на примере

Весь процесс проходит четыре этапа выполнения, а именно: разделение, отображение, перетасовка и сокращение.

Теперь в этом уроке MapReduce давайте разберемся на примере MapReduce:

Предположим, у вас есть следующие входные данные для вашего MapReduce в Программа больших данных

Welcome to Hadoop Class
Hadoop is good
Hadoop is bad
Уменьшение карты Archiтекстура
Уменьшение карты Archiтекстура

Конечный результат задачи MapReduce:

плохой 1
Класс 1
хорошо 1
Hadoop 3
is 2
в 1
Добро пожаловать 1

Данные проходят следующие этапы MapReduce в больших данных.

Входное разделение:

Входные данные для задания MapReduce в больших данных делятся на части фиксированного размера, называемые ввод разбивается Разделение входных данных — это часть входных данных, которая используется одной картой.

Карт

Это самый первый этап выполнения программы уменьшения карты. На этом этапе данные каждого разделения передаются в функцию сопоставления для получения выходных значений. В нашем примере задача этапа сопоставления заключается в подсчете количества вхождений каждого слова из входных разбиений (более подробная информация о входных разбиениях приведена ниже) и подготовке списка в виде

шарканье

На этом этапе используются результаты этапа сопоставления. Его задача состоит в том, чтобы объединить соответствующие записи результатов этапа картирования. В нашем примере одни и те же слова объединены вместе с соответствующей частотой.

Сокращение

На этом этапе выходные значения этапа перетасовки агрегируются. Этот этап объединяет значения из этапа перетасовки и возвращает одно выходное значение. Короче говоря, на этом этапе суммируется весь набор данных.

В нашем примере на этом этапе объединяются значения из этапа перетасовки, т. е. рассчитывается общее количество вхождений каждого слова.

Уменьшение карты Archiтектура подробно объяснена

  • Для каждого разделения создается одна задача карты, которая затем выполняет функцию карты для каждой записи в разделении.
  • Всегда полезно иметь несколько разделений, поскольку время, необходимое для обработки разделения, невелико по сравнению со временем, затрачиваемым на обработку всего ввода. Когда разделения меньше, обработку лучше балансировать по нагрузке, поскольку мы обрабатываем разделения параллельно.
  • Однако также нежелательно иметь слишком маленькие по размеру расколы. Когда разделения слишком малы, перегрузка по управлению разделениями и созданию задач карты начинает доминировать над общим временем выполнения задания.
  • Для большинства заданий лучше сделать размер разделения равным размеру блока HDFS (по умолчанию он составляет 64 МБ).
  • Выполнение задач карты приводит к записи вывода на локальный диск соответствующего узла, а не в HDFS.
  • Причина выбора локального диска вместо HDFS заключается в том, чтобы избежать репликации, которая происходит в случае работы хранилища HDFS.
  • Вывод карты — это промежуточный вывод, который обрабатывается задачами сокращения для получения окончательного вывода.
  • После завершения задания выходные данные карты можно выбросить. Таким образом, хранение его в HDFS с репликацией становится излишним.
  • В случае сбоя узла, прежде чем выходные данные карты будут использованы задачей сокращения, Hadoop повторно запускает задачу карты на другом узле и заново создает выходные данные карты.
  • Задача сокращения не работает с концепцией локальности данных. Выходные данные каждой задачи сопоставления передаются в задачу сокращения. Вывод карты передается на компьютер, на котором выполняется задача сокращения.
  • На этом компьютере выходные данные объединяются, а затем передаются пользовательской функции сокращения.
  • В отличие от вывода карты, вывод сокращения сохраняется в HDFS (первая реплика хранится на локальном узле, а остальные реплики хранятся на внестойких узлах). Итак, записываем вывод сокращения

Как MapReduce организует работу?

Теперь в этом уроке MapReduce мы узнаем, как работает MapReduce.

Hadoop делит работу на задачи. Есть два типа задач:

  1. Задачи карты (Разделение и сопоставление)
  2. Сокращение задач (Перетасовка, уменьшение)

как уже упоминалось выше.

Полный процесс выполнения (выполнение задач «Карта» и «Сокращение») контролируется двумя типами объектов, называемыми

  1. Трекер вакансий: Действует как мастер (ответственный за полное выполнение сданной работы)
  2. Несколько трекеров задач: Действует как рабы, каждый из них выполняет свою работу

Для каждого задания, представленного на исполнение в системе, существует один Трекер вакансий который находится на Узел имени и здесь несколько тасктрекеров которые проживают на узел данных.

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