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