MapTask параллелизм относится к стадии карты , как много параллельных задач обработки общей задачи. многозадачности этап параллелизм карты, она обязана повлиять на скорость обработки всей работы. Таким образом, MapTask параллельный экземпляр лучше? Его степень параллелизма, как определить это?
MapReducejob карты фаза параллелизм клиента представить работу определенного время , то есть клиент представить работу будет рассматриваться до начала данных логических микросхем . Для того, чтобы завершить формирование срезов секций планирующих файл ( job.split ), каждый логического старт срез , соответствующий конечную MapTask .
Логический Микротом FileInputFormat класс реализации getSplits () метод завершается.
FileInputFormat механизм нарезка
FileInputFormat механизмы среза по умолчанию:
A. просто нарезка в соответствии с содержанием длины файла
B. размер среза, равный по умолчанию блок размера
C. независимо от того, когда набор данных в целом срез, срез за срезом, но отдельно для каждого файла
Например, есть два файла данных, подлежащих обработке:
file1.txt 320M
file2.txt 10M
После того, как FileInputFormat операции микротома, информация срез формируется следующим образом :
file1.txt.split1-0M ~ 128M
file1.txt.split2-128M ~ 256M
file1.txt.split3-256M ~ 320M
file2.txt.split1-0M ~ 10M
FileInputFormat размерных параметров среза
В FileInputFormat , логика расчета размера срез:
Math.max (MinSize, Math.min (MaxSize, BLOCKSIZE));
Операция Кусочек основном определяется этими величинами:
MinSize : По умолчанию: 1
Параметры конфигурации: mapreduce.input.fileinputformat.split.minsize
MaxSize : по умолчанию: Long.MAXValue
Параметры конфигурации: mapreduce.input.fileinputformat.split.maxsize
размер блока
Поэтому , по умолчанию, Split размер = размер блока , в Hadoop 2.x для 128M .
MAXSIZE (максимальный срез): если параметры передачи , чем размер блока мала, то пусть срез становится малым, а это эквивалентно параметрами конфигурации.
MinSize (нарезанный минимум): тон параметров , чем BLOCKSIZE большой, вы можете иметь ломтик становится больше размер_блока больше.
Однако, независимо от того , как параметры тона не позволяют несколько небольших файлов «не классифицирован» A Split .
Существует деталь:
Когда bytesRemaining / splitSize> 1.1 не удовлетворены, то в конце концов все остальные будут использоваться в качестве среза. Например, чтобы не сформировать 129m файл в два ломтика ситуации планирования