Amazon Elastic Map Reduce: имеет значение размер входных фрагментов - PullRequest
0 голосов
/ 07 июля 2011

Учитывая, что мне нужно обработать ввод 20 Гб с использованием 10 экземпляров. Различно ли иметь 10 входных файлов по 2 Гб по сравнению с 4 входными файлами по 5 Гб? В последнем случае, может ли Amazon Elastic MapReduce автоматически распределить загрузку 4 входных файлов по 10 экземплярам? (Я использую потоковый метод, так как мой маппер написан с использованием ruby)

1 Ответ

3 голосов
/ 09 июля 2011

Единственное, что имеет значение, это то, могут ли файлы разделяться.

Если файлы представляют собой несжатый текст или сжатые с помощью lzo, то Hadoop разберет разбиение.

x5 2 ГБ файлов приведет к ~ 100 разбиениям и, следовательно, ~ 100 задачам карты (10 ГБ / 128 МБ (размер блока EMR) ~ = 100)

x10 файлов размером 1 ГБ снова приведут к ~ 100 разбиениям и, следовательно, снова к 100 задачам карты.

Если файлы сжаты gzip или bzip2, то Hadoop (по крайней мере, версия, работающая на EMR) не будет разбивать файлы.

x5 2 ГБ файлов приведет только к 5 разбиениям (и, следовательно, только 5 задач с картами)

x10 1 ГБ файлов приведет только к 10 разбиениям (и, следовательно, только 10 задач с картой)

Mat

...