2013-08-02 3 views
3

В рамках моих распределенных систем мы начали обсуждать модель сокращения распределенных вычислений. Каковы преимущества наличия большего количества редукторов, чем картографы в архитектуре с уменьшением карты?Mapreduce: больше редукторов, чем картографов?

Примечание: Google, ищущий этот вопрос, дает противоречивые мнения по этому вопросу.

ответ

7

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

Однако, если <key,value> пара, порожденные картографами большие & разнообразны, то это имеет смысл, чтобы иметь больше восстановителей, потому что вы можете обработать большее количество <key,value> пара параллельно.

Давайте рассмотрим случай, когда выход вашего картографа имеет 10 ключей, с 100 значениями, связанными с каждой клавишей, поэтому, если у вас есть 10 редукторов, вы можете обрабатывать все ключи параллельно.

Теперь предположим, что ваши карты выдают 100 ключей с 10 значениями в каждой клавише. Затем 100 редукторов будут обрабатывать все ваши ключи параллельно. (Конечно, будут расходы на сеть, связанные с одновременным запуском 100 редукторов)

Таким образом, исходя из типа данных, которые выводят ваши картографы, вы можете выбрать оптимальное количество редукторов.

+1

Хороший пример @Chaos. – Tariq

+0

@Tarq спасибо! – Chaos

Смежные вопросы