Количество входных разбиений равно количеству картографов?

Я обрабатываю один файл с картой, уменьшая этот размер файла до 1 ГБ, а размер блока по умолчанию в HDFS составляет 64 МБ, поэтому для этого примера, сколько входных разбиений и сколько картографов?


person koti developer    schedule 07.10.2015    source источник


Ответы (2)


Number of splits=Number of mappers.

Таким образом, если размер вашего файла составляет 1 ГБ (1024/64), у вас будет запущено 16 картографов.

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

Однако количество картографов также зависит от различных факторов.

  1. Если ваш файл сжат, что, в свою очередь, не является разделяемым форматом, то вы получите один преобразователь, обрабатывающий весь файл.
  2. Если для issplittable() в классе Inputformat установлено значение false, ваш файл нельзя разделить, и тогда у вас также будет работать один преобразователь.
  3. Редюсеры должны быть явно установлены в коде драйвера. job.setNumReduceTasks() сделает это. Если не установлено, то количество редукторов по умолчанию будет равно 1.

Я думаю, что количество входных разбиений зависит от размера входного файла.

person Vignesh I    schedule 07.10.2015
comment
а как же редукторы? - person koti developer; 07.10.2015
comment
@kotideveloper отредактировано с учетом ваших комментариев reg. входсплит - person Vignesh I; 07.10.2015
comment
Я думаю, что входные разбиения не зависят от размера нашего входного файла. - person koti developer; 07.10.2015
comment
Я имел в виду, чем это отличается от размера блока. Предположим, что если размер вашего блока составляет 128 МБ, то для вашего файла размером 1 ГБ будет работать только 8 картографов вместо 16. Таким образом, количество разделенных входных данных также зависит от размера блока. - person Vignesh I; 07.10.2015
comment
@kotideveloper Это ответ на ваш вопрос? - person Vignesh I; 08.10.2015
comment
Да, спасибо за вашу поддержку, и у меня есть еще одно сомнение по поводу узи. - person koti developer; 08.10.2015
comment
@kotideveloper Вы можете принять ответ. А для oozie опубликуйте это как отдельный вопрос с соответствующим тегом. - person Vignesh I; 08.10.2015

Количество блоков = НЕТ картографов; Если только один файл имеет размер 1 ГБ и размер блока 64 МБ, количество фрагментов (блоков) => 1026 МБ/64 МБ = 16 . Таким образом, количество картографов = 16. По умолчанию мы получим только один редьюсер, если мы хотим запустить больше редюсеров, вы можете установить job.setNumReduceTasks();

person Soma Sekhar Kuruva    schedule 08.10.2015