2012-06-10 2 views
0

Есть ли способ, чтобы весь файл был отправлен в устройство отображения без разделения?Hadoop Non-splittable TextInputFormat

Я читал this, но мне интересно, есть ли другой способ сделать то же самое, не создавая промежуточный файл. В идеале я бы хотел, чтобы существующая опция в командной строке была Hadoop.

Я использую объект streaming с сценариями Python на Amazon EMR.

ответ

1

Просто установите свойство конфигурации mapred.min.split.size к чему-то огромный (10G):

-D mapred.min.split.size=10737418240 

Или сжать входной файл, используя кодек, который не щепляемый (Gzip). С расширением .gz TextInputFormat вернет false в isSplittable(FileSystem, Path) метод

+0

oh, отлично! Большое большое спасибо! – jldupont

+0

Является ли это свойство по-прежнему действительным для hadoop 0.20.205? Я вроде бы все еще запутался в API «старого vs new», который поддерживает EMR ... пожалуйста. – jldupont

+0

Yeap, streaming использует старый API, и это свойство подробно описано в источнике для 20.205 - строка 221 - http://svn.apache.org/viewvc/hadoop/common/tags/release-0.20.205.0/src/mapred /org/apache/hadoop/mapred/FileInputFormat.java?view=markup –

Смежные вопросы