Разница между размером блока и размером входного разбиения.
Разделение ввода - это логическое разделение ваших данных, в основном используемое при обработке данных в программе MapReduce или других методах обработки. Размер входного разделения - это пользовательское значение, и Hadoop Developer может выбрать размер разделения в зависимости от размера данных (объем обрабатываемых данных).
Input Split в основном используется для управления числом Mapper в программе MapReduce. Если вы не определили размер разделения ввода в программе MapReduce, то разделение блока HDFS по умолчанию будет рассматриваться как разделение ввода при обработке данных.
Пример:
Предположим, у вас есть файл размером 100 МБ и конфигурация блока HDFS по умолчанию составляет 64 МБ, тогда он будет разделен на 2 части и займет два блока HDFS. Теперь у вас есть программа MapReduce для обработки этих данных, но вы не указали входное разбиение, тогда основанное на количестве блоков (2 блока) будет рассматриваться как входное разделение для обработки MapReduce, и два маппера будут назначены для этого задания. Но предположим, что вы указали размер разделения (скажем, 100 МБ) в вашей программе MapReduce, тогда оба блока (2 блока) будут рассматриваться как один разделитель для обработки MapReduce, и для этого задания будет назначен один Mapper.
Теперь предположим, что вы указали размер разделения (скажем, 25 МБ) в своей программе MapReduce, тогда для программы MapReduce будет 4 входных разделения, и для задания будет назначено 4 Mapper.
Вывод:
- Разделение ввода - это логическое разделение входных данных, в то время как блок HDFS - это физическое разделение данных.
- Размер блока HDFS по умолчанию - это размер разделения по умолчанию, если входное разделение не указано в коде.
- Разделение определяется пользователем, и пользователь может контролировать размер разделения в своей программе MapReduce.
- Одно разделение может быть сопоставлено нескольким блокам, и может быть несколько разделений одного блока.
- Количество задач карты (Mapper) равно количеству входных разбиений.
Источник: https://hadoopjournal.wordpress.com/2015/06/30/mapreduce-input-split-versus-hdfs-blocks/