Когда начинается перемешивание в Hadoop

У меня вопрос о том, когда начинается перетасовка.

Допустим, у меня есть 2 маппера и 1 редьюсер. Каждый картограф будет генерировать выходную карту map1 и map2. Эта карта1 и карта2 хранятся на временном диске соответствующего узла данных.

Теперь редюсер должен ждать вывода как карты1, так и карты2? Другими словами, когда начинается перетасовка? как только закончится map1 или нужно дождаться завершения map2?

Я слушаю перетасовку трафика на редукторе и не могу найти никакого трафика, но вывод консоли показывает, что уже 70% (приблизительно) редукции завершено.

14/12/18 17:45:55 INFO mapred.JobClient:  map 97% reduce 22%
14/12/18 17:45:58 INFO mapred.JobClient:  map 98% reduce 22%
14/12/18 17:45:59 INFO mapred.JobClient:  map 99% reduce 22%
14/12/18 17:46:07 INFO mapred.JobClient:  map 100% reduce 22%
14/12/18 17:46:12 INFO mapred.JobClient:  map 100% reduce 67%
14/12/18 17:46:15 INFO mapred.JobClient:  map 100% reduce 71%

Я вижу, что после этой точки появляется перетасовка трафика.

Я немного запутался здесь. Что это примерно за 70% работы редуктора? !

Спасибо


person navaz    schedule 19.12.2014    source источник
comment
Взгляните на этот вопрос SF: stackoverflow.com/questions/11672676/   -  person Ashrith    schedule 19.12.2014


Ответы (3)


В вашем редукторе... Первые 33% - это фаза копирования, затем следующие 33% - фаза перемешивания и сортировки, а затем последние 33% - ваша фактическая операция уменьшения.

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

person frazman    schedule 19.12.2014
comment
Спасибо. Что такое фаза копирования 33%? скопировать куда? Перетасовка начинается только после того, как все сопоставления завершены? - person navaz; 19.12.2014
comment
Этап копирования относится к перемещению выходных данных из ваших картографов в соответствующий редьюсер. В зависимости от вашей конфигурации, это начинается, когда мапперы приближаются к завершению. Затем после завершения картографов запускается перемешивание и сортировка. - person Nonnib; 19.12.2014
comment
Я немного запутался здесь между фазами копирования и перемешивания. @Fraz Я думаю, что фаза перемешивания - это не что иное, как перемещение данных из картографов в редукторы. Если да, что это за начальные 33%? - person navaz; 19.12.2014
comment
Нет... фаза копирования - это перемещение данных из узлов карты туда, где находятся узлы сокращения... в вашем преобразователе... вы указываете входной ключ, значение и выходной ключ, значение.. Это значение выходного ключа копируется для уменьшения узлов. , После этого данные перемешиваются и сортируются на основе выходного ключа карты... так что все одинаковые ключи сгруппированы вместе... что является входом для вашей фазы сокращения - person frazman; 19.12.2014

На самом деле сортировка происходит как в карте, так и в уменьшении сторон. Это четко объяснено в Полное руководство

person Tom Sebastian    schedule 19.12.2014

Этапы перемешивания и сортировки вместе называются этапом «Копирование». Сортировка выполняется в оперативной памяти. Если внешняя сортировка необходима из-за нехватки памяти, произойдет сортировка слиянием. Итак, мы пишем sort/merge.

На самом деле каждая задача Map состоит из 3 фаз: Map, Partitioning, Sort/Merge. Каждая задача уменьшения состоит из 3 фаз: перемешивание, сортировка/объединение, уменьшение.

В Hadoop фаза перемешивания начинается, когда создается 5% всех выходных данных задачи карты. В этой стратегии, хотя этап перетасовки начинается раньше, чтобы уменьшить время выполнения задания, он вызывает повторяющиеся слияния и больше обращений к диску на стороне сокращения, что снова приводит к увеличению времени выполнения задания.

person Neda Maleki    schedule 06.03.2018