MapReduce в Hadoop: этапы, входы и выходы, функции и преимущества
Опубликовано: 2020-12-24Hadoop 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, чтобы ускорить свою карьеру.
