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

3

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

Ваш Ответ

2   ответа
6

The number of maps is usually driven by the number of DFS blocks in the input files. Although that causes people to adjust their DFS block size to adjust the number of maps.

The right level of parallelism for maps seems to be around 10-100 maps/node, although this can go upto 300 or so for very cpu-light map tasks. Task setup takes awhile, so it is best if the maps take at least a minute to execute.

You can increased number of Map task by modifying JobConf's conf.setNumMapTasks(int num). Note: This could increase the number of map tasks, but will not set the number below that which Hadoop determines via splitting the input data.

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

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

Прочитайте больше:http://wiki.apache.org/hadoop/HowManyMapsAndReduces

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
5

Input format and particular configuration properties for the format for file based input formats (TextInputFormat, SequenceFileInputFormat etc): Number of input files / paths are the files splittable (typically compressed files are not, SequenceFiles are an exception to this) block size of the files

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded kee
Error: User Rate Limit Exceededo.a.h.mapred.FileInputFormat.getSplits()Error: User Rate Limit Exceeded

Похожие вопросы