Что на самом деле делает фаза тасования?

Что на самом деле делает фаза тасования?

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, результаты будут следующими:

  1. Группируется локально на узле (считайте это "локальной группировкой"); а также,
  2. Перетасовывается / перераспределяется по всем узлам кластера.

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

Теперь узлы запускают код Reducer для пар (ключ, значение), находящихся в их памяти.

Другие вопросы по тегам