MapReduce в Hadoop: этапы, входы и выходы, функции и преимущества

Опубликовано: 2020-12-24

Hadoop MapReduce — это модель программирования и программная среда, используемая для написания приложений, обрабатывающих большие объемы данных. В программе MapReduce есть две фазы: Map и Reduce.

Задача «Карта» включает разделение и сопоставление данных путем преобразования набора данных в другой набор данных, где отдельные элементы разбиваются на кортежи, т. е. пары «ключ-значение». После этого задача Reduce перемешивает и уменьшает данные, что означает, что она объединяет кортежи данных на основе ключа и соответствующим образом изменяет значение ключа.

В среде Hadoop модель MapReduce является основным компонентом обработки данных. Используя эту модель, очень легко масштабировать приложение для работы на сотнях, тысячах и многих других машинах в кластере, просто внеся изменения в конфигурацию. Это также связано с тем, что программы модели в облачных вычислениях параллельны по своей природе. Hadoop позволяет запускать MapReduce на многих языках, таких как Java, Ruby, Python и C++. Узнайте больше об архитектуре mapreduce.

Оглавление

Входы и выходы

Модель MapReduce работает с парами <key, value>. Он рассматривает входные данные для заданий как набор пар <ключ, значение> и создает другой набор пар <ключ, значение> в качестве выходных данных заданий. В этой структуре ввод данных поддерживается двумя классами, а именно InputFormat и RecordReader.

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

Каковы этапы MapReduce?

В MapReduce данные проходят следующие этапы.

Разделение входных данных: входные данные в модели MapReduce делятся на небольшие части фиксированного размера, называемые входными разделениями. Эта часть ввода потребляется одной картой. Входные данные обычно представляют собой файл или каталог, хранящийся в HDFS.

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

Перетасовка: это часть фазы вывода картирования, когда соответствующие записи объединяются из вывода. Он состоит из слияния и сортировки. Таким образом, объединяются все пары ключ-значение, имеющие одинаковые ключи. При сортировке входные данные с этапа слияния берутся и сортируются. Он возвращает пары ключ-значение, сортируя вывод.

Уменьшить: все значения из фазы перетасовки объединяются, и возвращается одно выходное значение. Таким образом, суммируя весь набор данных.

Читайте также: Интервью Mapreduce Вопросы и ответы

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

Hadoop делит задачу на две части: задачи сопоставления, которые включают в себя разделение и сопоставление, и задачи сокращения, которые включают в себя перемешивание и сокращение. Они были упомянуты в фазах в предыдущем разделе. Выполнение этих задач контролируется двумя объектами, называемыми JobTracker и Multiple Task Tracker.

Для каждого задания, отправленного на выполнение, есть JobTracker, который находится в NameNode, и несколько трекеров задач, которые находятся в DataNode. Задание делится на несколько задач, которые выполняются на нескольких узлах данных в кластере. JobTracker координирует действия, планируя выполнение задач на различных узлах данных.

Трекер задач следит за выполнением отдельных задач. Он также отправляет отчет о ходе выполнения в JobTracker. Периодически он отправляет сигнал JobTracker, чтобы уведомить о текущем состоянии системы. В случае сбоя задачи JobTracker переназначает ее на другой трекер задач.

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

Существует ряд преимуществ для приложений, использующих эту модель. Эти

  • – Большие данные легко обрабатываются.
  • – Наборы данных могут обрабатываться параллельно.
  • – Все типы данных, такие как структурированные, неструктурированные и полуструктурированные, могут быть легко обработаны.
  • – Обеспечивается высокая масштабируемость.
  • – Подсчет вхождений слов прост, и эти приложения могут собирать массивные данные.
  • – Можно быстро получить доступ к большим выборкам респондентов.
  • – При анализе данных для поиска инструментов можно использовать общий инструмент.
  • – В больших кластерах предлагается время балансировки нагрузки.
  • – Процесс извлечения контекстов пользовательских местоположений, ситуаций и т. д. легко возможен.
  • – Эти приложения обеспечивают хорошие характеристики обобщения и конвергенции.

Обязательно прочтите: Mapreduce против Apache Spark

Заключение

Мы подробно описали MapReduce в Hadoop. Мы также предоставили краткое описание фреймворка вместе с определениями Map и Reduce во введении. Определения различных терминов, используемых в этой модели, были даны вместе с подробной информацией о входных и выходных данных.

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

Если вам интересно узнать больше о больших данных, ознакомьтесь с нашей программой PG Diploma в области разработки программного обеспечения со специализацией в области больших данных, которая предназначена для работающих профессионалов и включает более 7 тематических исследований и проектов, охватывает 14 языков и инструментов программирования, практические занятия. семинары, более 400 часов интенсивного обучения и помощь в трудоустройстве в ведущих фирмах.

Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Возглавьте технологическую революцию, основанную на данных

Расширенная программа сертификации в области больших данных от IIIT Bangalore