Hadoop прозрачно обрабатывает сжатие, но не разбивает LZO

похоже, что Hadoop прозрачно обрабатывает сжатие (когда это было введено, я не помню его в версии 0.20.203) при использовании TextInputFormat. К сожалению, при использовании сжатия LZO Hadoop не использует индексный файл LZO, чтобы сделать файл разделяемым. Однако, если я установил формат ввода com.hadoop.mapreduce.LzoTextInputFormat, файл будет разделен.

Можно ли настроить Hadoop на распаковку файлов LZO и их разделение при использовании TextInputFormat?


person schmmd    schedule 19.04.2012    source источник
comment
Вы когда-нибудь заставляли Hadoop использовать индексный файл LZO по умолчанию @schmmd? Я все еще наблюдаю за этим поведением в CDH4.4.0   -  person Andrew    schedule 24.12.2013


Ответы (1)


Я столкнулся с аналогичной проблемой, и вот мое понимание:

Вы хотите использовать LzoTextInputFormat в своем коде. Если вы хотите обрабатывать смесь файлов lzo и не lzo, вы должны установить lzo.text.input.format.ignore.nonlzo на false. В этом случае LzoTextInputFormat будет использоваться для всех файлов lzo, но по умолчанию он будет TextInputFormat для других файлов (достаточно умен, чтобы игнорировать файлы индекса).

Эта функция могла отсутствовать, когда этот вопрос был впервые задан, поэтому вы, возможно, уже знаете об этом решении.

См. (Есть комментарий к ignore.nonlzo): https://github.com/twitter/hadoop-lzo/blob/master/src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java

person Kevin Hsu    schedule 31.01.2014