Примечания по началу работы с Hadoop — основной компонент MapRuduce

Большие данные
Примечания по началу работы с Hadoop — основной компонент MapRuduce

Добавить Автора

источник:Облачное сообщество Hang Seng LIGHT

Базовые концепты

MapReduceЭто среда программирования для распределенных вычислительных программ, с помощью которой пользователи могут отправлять готовые программы,работать одновременновHadoopна кластере.

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

MapReduce — это модель программирования, состоящая из двух этапов: Map и Reduce. Входные данные сначала делятся на куски, затем обрабатываются Map и, наконец, выводятся в Reduce.

Его можно понимать как процесс сортировки и суммирования данных.

1175569-20180425120806546-505816034-1636883770385.png

основной алгоритм

План алгоритма для MapReduce обычно состоит из трех шагов:

  • Map: Работа карты или картографа заключается в обработке входных данных. Каждый рабочий узел будетmapФункция применяется к локальным данным и записывает вывод во временное хранилище.
  • Shuffle: рабочие узлы перераспределяют данные в соответствии с выходным ключом, сортируют, группируют и копируют сопоставление данных, чтобы все данные, принадлежащие ключу, находились на одном рабочем узле.
  • Reduce: рабочие узлы теперь обрабатывают каждый набор выходных данных для каждого ключа параллельно и сохраняют полученные данные в HDFS.

запустить процесс

MapReduce обычно состоит из следующих шагов:

  • input: прочитать текстовый файл в системе;
  • splitting: Разделите файл построчно, вы можете получитьK1ряды,V1Указывает текстовое содержимое соответствующей строки;
  • mapping: Разделите каждую строку пробелами параллельно и получитеList(K2,V2)K2экспресс ключевые слова,V2Значение равно 1, что соответствует 1 вхождению;
  • shuffling:так какmappingОперации могут выполняться параллельно на разных машинах, необходимо пройтиshufflingоперация будет такой жеkeyДанные значения распределяются на тот же узел и объединяются, чтобы можно было подсчитать окончательный результат.В это время мы получаемK2первичный ключ,List(V2)является итерируемой коллекцией,V2Это V2 в картографировании;
  • Reducing: для каждого рабочего узлаK2пара ключ-значениеReduce()операция, конечный результат.

В модели программирования MapReducesplittingиshuffingВсе операции реализуются фреймворком, и только то, что нам нужно запрограммировать для реализацииmappingиreducing, откуда и произошло название MapReduce.

image-20211114203642229.png

Преимущества и недостатки

преимущество

  • Он может разделять крупномасштабные данные на несколько узлов для параллельных вычислений, сокращая время, необходимое для вычисления данных;
  • Переместите вычисления в местонахождение данных, чтобы снизить затраты на сеть;

недостаток

  • Могут выполняться только офлайн-вычисления, потоковые вычисления и вычисления в реальном времени выполняться не могут;
  • Результаты процесса будут сохранены на диск, что увеличит нагрузку на ввод-вывод;

Суммировать

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

Категории