所以,我在解密来自HDFS的snappy文件时遇到一些问题。如果我使用
这对我来说失败了。所以我尝试了另一个文本,我使用的输出并使用库进行压缩。然后将其输出到文件中。我能够读取这个文件并成功解压缩它。
据我所知,snappy在版本之间是向后兼容的。我的Python代码正在使用最新的snappy版本,我猜hadoop正在使用旧的snappy版本。这可能是个问题吗?还是我漏掉了什么其他的东西?
hadoop fs -text
,我可以解压缩并输出文件。但是,如果我使用hadoop fs -copyToLocal
并尝试使用python-snappy解压缩文件,则会出现以下错误:
snappy.UncompressError: 解压缩时出错:无效输入。
我的Python程序非常简单,如下所示:
import snappy
with open (snappy_file, "r") as input_file:
data = input_file.read()
uncompressed = snappy.uncompress(data)
print uncompressed
这对我来说失败了。所以我尝试了另一个文本,我使用的输出并使用库进行压缩。然后将其输出到文件中。我能够读取这个文件并成功解压缩它。
据我所知,snappy在版本之间是向后兼容的。我的Python代码正在使用最新的snappy版本,我猜hadoop正在使用旧的snappy版本。这可能是个问题吗?还是我漏掉了什么其他的东西?
print(uncompressed)
查看结果时,输出的是b''
。你有什么想法吗? - mjbsgllcontents = input_file.read() decompressor = snappy.StreamDecompressor() uncompressed = decompressor.decompress(contents)```
- chomar.c