Hadoop MapReduce: количество картографов по умолчанию

Если я не укажу количество картографов, как это число будет определено? Есть ли настройки по умолчанию, считанные из файла конфигурации (например, mapred-site.xml)?

Ответы на вопрос(2)

Решение Вопроса

Количество карт обычно определяется количеством блоков DFS во входных файлах. Хотя это заставляет людей регулировать размер своего блока DFS для корректировки количества карт.

Правильный уровень параллелизма для карт, кажется, составляет около 10-100 карт / узел, хотя это может доходить до 300 или около того для очень простых задач карты. Настройка задачи занимает некоторое время, поэтому лучше, если для выполнения карт требуется не менее минуты.

Вы можете увеличить количество задач Map, изменив confConset_umNapMasTasks в JobConf (int num). Примечание. Это может увеличить количество задач карты, но не будет устанавливать число ниже того, которое Hadoop определяет путем разделения входных данных.

Окончательно контролировать количество карт очень сложно. Параметр mapred.map.tasks - это просто подсказка InputFormat для количества карт. Поведение InputFormat по умолчанию заключается в разделении общего количества байтов на правильное количество фрагментов. Однако в случае по умолчанию размер блока DFS входных файлов рассматривается как верхняя граница для входных разбиений. Нижняя граница для размера разделения может быть установлена с помощью mapred.min.split.size.

Таким образом, если вы ожидаете 10 ТБ входных данных и имеете блоки DFS 128 МБ, вы получите карты размером 82 КБ, если ваш mapred.map.tasks не станет еще больше. В конечном итоге InputFormat определяет количество карт.

Подробнее:http: //wiki.apache.org/hadoop/HowManyMapsAndReduce

 jayunit10006 нояб. 2012 г., 02:36
похоже на прямую копию вики hadoop. возможно, этот ответ следует перефразировать, или вы можете сделать его более конкретным для вопроса.
 Aniket Kapse29 сент. 2016 г., 16:00
У меня вопрос. «10 ТБ входных данных и 128 МБ блоков DFS, в результате вы получите карты размером 82 КБ, если ваш mapred.map.tasks еще больше.» Так что я могу установить min.split.size 256 МБ и уменьшить число no. картографов наполовину?

Формат ввода и особые свойства конфигурации для формата для файловых форматов ввода (TextInputFormat, SequenceFileInputFormat и т. д.): Количество входных файлов / путей разделяемые файлы (обычно сжатые файлы не являются, SequenceFiles - исключение из этого) размер блока файлов

Возможно, есть и другие, но, надеюсь, ты понял идею

 kee15 мая 2012 г., 03:30
Спасибо Крис. Если я укажу номер, он не обязательно будет соблюдаться Job Tracker?
 Chris White15 мая 2012 г., 03:45
С новым (.mapreduce packaged) API это полностью игнорируется. Старый API может сделать - посмотрите на источник дляo.a.h.mapred.FileInputFormat.getSplits() (для выпуска используемой вами версии hadoop)

Ваш ответ на вопрос