如何解决与 zstandard 中使用的帧相关的错误,它需要太多的内存来解码

How to resolve the error related to frame used in zstandard which requires too much memory for decoding

下载问答相关资料,我按照facebook/ELI5上的脚本进行操作。

那里对 运行 命令说:python download_reddit_qalist.py -Q。在 运行 执行此命令时,我在 python 文件 'download_reddit_qalist.py' 的第 70 行出现错误,其中枚举了 zstandardDecompressor 对象。错误日志说:

zstd.ZstdError: Zstd decompress error: Frame requires too much memory for decoding

考虑到内存问题,我为容器分配了 32 GB 内存和 8 个 CPU。但是错误仍然存​​在。

当我用 ElementTree.iterparse() 替换枚举函数时,除了这个错误之外,还有一条消息加起来:

for i, l in ET.iterparse(f):

File "/anaconda3/lib/python3.8/xml/etree/ElementTree.py", line 1229, in iterator

data = source.read(100 * 2048)

zstd.ZstdError: zstd decompress error: Frame requires too much memory for decoding

有没有人遇到类似的错误?我在 slurm 集群上有 docker 容器 运行ning。如果您需要更多信息,请告诉我。

zstdDecompressor(max_window_size=2147483648)

以后,如果有人遇到这个错误,那么以上是更正它的方法。

在文件download_reddit_qalist.py中,第66行,可以更改。