Является составной частью перетасовки в mapreduce

64
4

процесс, с помощью которого система сортирует вывод карты на стороне карты, называется сортировкой. эта часть тасования? Другими словами, когда начинается тасование? После того, как вывод карты был записан на диск или после того, как вывод карты был записан в буфер в памяти

спросил(а) 2018-02-07T17:59:00+03:00 2 года, 3 месяца назад
1
Решение
91

Вся обработанная Map-reduce объясняется на подробном уровне здесь: http://ercoppa.github.io/HadoopInternals/AnatomyMapReduceJob.html

Чтобы ответить на ваш вопрос, шаги в одиночной задаче карты состоят из:

    Фаза INIT: мы настраиваем задачу карты Фаза EXECUTION: для каждого (ключа, значения) кортежа внутри раскола карты выполняется функция map() Фаза разгона: выход карты сохраняется в буфере памяти; когда этот буфер почти заполнен, мы начинаем (параллельно) фазу разлива, чтобы удалить данные из нее Фаза SHUFFLE: в конце фазы разлива мы объединяем все выходные данные карты и упаковываем их для фазы уменьшения

Single MapTask lifecycle

Фаза выполнения и разлива происходит параллельно. Таким образом, данные записываются в круглую буферную память → Отсортировано в памяти → Когда буфер заполнен на 80% → Написан на локальный диск.

enter image description here

В конце этапа EXECUTION в последний раз запускается поток SPILLING. Более подробно мы:

    сортировать и разливать оставшиеся нераспределенные кортежи запустите этап SHUFFLE

Обратите внимание, что за каждый раз, когда буфер был почти заполнен, мы получаем один файл разлива (выходной файл SpillReciord +). Каждый файл Spill содержит несколько разделов (сегментов).

ответил(а) 2018-02-07T23:15:00+03:00 2 года, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема