如何在hadoop中读取.deflate文件

时间:2013-09-12 08:25:49

标签: hadoop

我有一些pig生成的文件扩展名为part-r-00000.deflate。我知道这是一个压缩文件。如何以可读格式生成普通文件。当我使用hadoop fs -text时,我无法获得纯文本输出。输出仍然是二进制的。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:19)

您可能正在使用quite old Hadoop版本(例如:0.20.0),其中fs -text无法对压缩文件进行充气。

作为一种解决方法,您可以尝试这种单线程(基于this答案):

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

答案 1 :(得分:13)

您可以使用此命令动态解压缩

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