我正在读取 .gz 文件并转换为 AVRO 格式。当我使用codec='deflate'
时。它运行良好。即,我能够转换为 avro 格式。当我使用 codec='snappy'
时,它会抛出如下错误:
raise DataFileException("Unknown codec: %r" % codec)
avro.datafile.DataFileException: Unknown codec: 'snappy'
使用放气 --> 工作正常
writer = DataFileWriter(open(avro_file, "wb"), DatumWriter(), schema, codec='deflate')
使用 snappy --> 抛出错误
writer = DataFileWriter(open(avro_file, "wb"), DatumWriter(), schema, codec = "snappy")
快速回复将会有很大帮助。
谢谢。
。 .
最佳答案
来自 avro/datafile.py
try:
import snappy
has_snappy = True
except ImportError:
has_snappy = False
...
# Codecs supported by container files:
VALID_CODECS = frozenset(['null', 'deflate'])
if has_snappy:
VALID_CODECS = frozenset.union(VALID_CODECS, ['snappy'])
所以你必须安装 python-snappy lib
关于python - 在 python 中使用 snappy 和 avro 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39699490/