Как увеличить задачи карты для MapReduce с bzip2 inputformat

Я развивал г-на, который правильно работает с текстовым файлом, управляющим многократными задачами карты, но я должен управлять работой любой на архивах. Мой выбор - архив bzip2. С такими архивами мои сдельные работы только с одной задачей карты.

Кто-либо знает, как я могу увеличить задачи карты?

Версия Hadoop: 0.20.2-cdh3u5 Hadoop

Я пытался отредактировать mapred-site.xml с различными параметрами, и он не работал.

0
nl ja de

2 ответы

Насколько большой ваш файл? И каков ваш размер блока? Bzip2 расщепляем поэтому, когда ваш размер файла превышает ваш размер блока, и ваш кодер-декодер Bzip2 формируется право, ваш файл будет разделен автоматически, и таким образом ваши задачи карты увеличились бы автоматически.

Свойства в mapred-site.xml там, чтобы определить (промежуточную) продукцию вашей работы. Когда вы используете сжатые файлы в качестве входа, необходимо установить это в , ядро-site.xml использующий io.compression.codecs .

Кроме того, на вашем месте я взглянул бы на LZO. По умолчанию архивы LZO не расщепляемы, но есть способ внести их в указатель так, они становятся расщепляемыми. LZO действительно сжимает меньше по сравнению с Bzip2, но является путем быстрее. Я сжал текстовый файл на 32 ГБ, используя Bzip2. Bzip2 сжал файл к 1.6 ГБ, но потребовалось 6.5 часов. Когда я сделал то же самое использование LZO, это возвратило меня файл на 5 ГБ, но это сделало это за 30 минут. Различие в декомпрессии еще больше. Также Bzip2 использует намного больше памяти.

On how to index LZO files, have a look here: https://github.com/twitter/hadoop-lzo

0
добавлено

Согласно эта нить, MAPREDUCE 830 также необходим для файлов Bzip2, чтобы быть расщепляемым (HADOOP-4012) для рабочих мест MapReduce. MAPREDUCE 830 не доступно на CDH3u5.

0
добавлено