Как прочитать файл .deflate в hadoop

Я получил несколько pig сгенерированных файлов с расширением part-r-00000.deflate. Я знаю, что это сжатый файл. Как создать обычный файл в читаемом формате. Когда я использовал hadoop fs -text, я не могу получить вывод из открытого текста. Выход по-прежнему двоичный. Как я могу исправить эту проблему?

Ответ 1

Возможно, вы используете довольно старый вариант Hadoop (например: 0.20.0), в котором fs -text не может раздувать сжатый файл.

В качестве обходного пути вы можете попробовать этот однострочный (на основе этого ответа):

hadoop fs -text file.deflate | perl -MCompress::Zlib -e 'undef $/; print uncompress(<>)'

Ответ 2

вы можете распаковать "на лету" с помощью этой команды

hdfs dfs -text file.deflate | hdfs dfs -put - uncompressed_destination_file