MapReduce механизм параллельности

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 файл в два ломтика ситуации планирования



рекомендация

отwww.cnblogs.com/TiePiHeTao/p/0eb21b7deab3eaeae9d1df5184b066f2.html