Что на самом деле делает фаза тасования?
Что на самом деле делает фаза тасования?
A) Так как тасование - это процесс переноса o/p преобразователя в o/p редуктора, он просто переносит определенные ключи от преобразователей в конкретные преобразователи на основе кода, написанного в разделителе.
например. о / р маппера 1 является {a, 1} {b, 1}
о / р маппера 2 является {a, 1} {b, 1}
и в моем разделителе я написал, что все ключи, начинающиеся с 'a', перейдут к редуктору 1, а все ключи, начинающиеся с 'b, перейдут к редуктору 2, так что o/p будет:
редуктор 1: {a,1}{a,1}
редуктор 2: {b,1}{b,1}
Б) Или наряду с описанным выше процессом он также группирует ключи:
Итак, о / п будет:
редуктор 1: {a,[1,1]}
редуктор 2: {b,[1,1]}
На мой взгляд, я думаю, что это должна быть просто точка, потому что после сортировки ключи должны иметь место, потому что сортировка выполняется только для того, чтобы редуктор мог легко указать, когда один ключ заканчивается, а другой ключ запускается. Если да, то когда действительно происходит щелчок ключей, уточните, пожалуйста.
Спасибо
0 ответов
Картографы и редукторы - это не отдельные машины, а просто отдельный код. И код сопоставления, и код сокращения работают на одних и тех же установленных машинах, присутствующих в кластере.
Итак, после того, как все машины в кластере запустили mapper, результаты будут следующими:
- Группируется локально на узле (считайте это "локальной группировкой"); а также,
- Перетасовывается / перераспределяется по всем узлам кластера.
Считайте шаг 2 "глобальным группированием", потому что он выполняется таким образом, что все значения, принадлежащие одному ключу, переходят в назначенный им уникальный узел.
Теперь узлы запускают код Reducer для пар (ключ, значение), находящихся в их памяти.