Я немного смущен количеством картографов, порожденных заданием MapReduce.
Я читал во многих местах, что количество картостроителей зависит не от количества блоков, а от количестваиз разделений, т.е. количество карт определяется InputFormat.Mapper = {(общий размер данных) / (размер входного разбиения)}
Пример - размер данных составляет 1 ТБ, а размер входного разделения составляет 128 МБ.
Num Mappers = (1 *1024*1024) / 128 = 8192
Вышеуказанное выглядит правильным, если у меня есть мой формат ввода FileInputFormat.
Но что, если мой формат ввода - TextInputFormat.
Предположим, у меня естьфайл размером 1 ГБ, с размером блока по умолчанию 128 МБ (в Hadoop 2.x), количество блоков будет равно 8.
Файл представляет собой текстовый файл, каждая строка которого занимает 1 МБ.
Теперь, когда яустановите для inputFormat значение TextInputFormat, сколько картографов будет создано Hadoop.
Будет ли это 1024 (по одному для каждой строки) или 8 (по одному для каждого блока)?