2015-10-07 8 views

ответ

0
Number of splits=Number of mappers. 

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

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

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

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

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

+0

Что относительно редукторов? –

+0

Разработчик @koti отредактировал ответ. –

+0

@kotideveloper отредактирован с вашими комментариями reg. inputplit –

0

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