Python fastparquet中的压缩选项不一致

Python fastparquet中的压缩选项不一致,python,pandas,compression,fastparquet,Python,Pandas,Compression,Fastparquet,根据fastparquet支持各种压缩方法 可选(压缩算法;gzip始终可用): 特别是提供高压缩比和令人印象深刻的快速压缩/解压缩速度的现代算法。这就是我想要的快速拼花地板 但是在 要应用于每列的压缩,例如GZIP、SNAPPY或dict 类似于{“col1”:“SNAPPY”,“col2”:None}来指定每列 压缩类型。在这两种情况下,压缩机设置都是相同的 基础压缩程序默认值。将参数传递给基础 压缩器,每个dict条目本身应该是一个字典: { col1: { "ty

根据fastparquet支持各种压缩方法

可选(压缩算法;gzip始终可用):

特别是提供高压缩比和令人印象深刻的快速压缩/解压缩速度的现代算法。这就是我想要的快速拼花地板

但是在

要应用于每列的压缩,例如GZIP、SNAPPY或dict 类似于{“col1”:“SNAPPY”,“col2”:None}来指定每列 压缩类型。在这两种情况下,压缩机设置都是相同的 基础压缩程序默认值。将参数传递给基础 压缩器,每个dict条目本身应该是一个字典:

{
    col1: {
        "type": "LZ4",
        "args": {
            "compression_level": 6,
            "content_checksum": True
         }
    },
    col2: {
        "type": "SNAPPY",
        "args": None
    }
    "_default": {
        "type": "GZIP",
        "args": None
    }
}
没有提到zstandard。如果我写信,还有什么更糟糕的

fastparquet.write('outfile.parq', df, compression='LZ4')
它会弹出这样的错误

压缩“LZ4”不可用。选项:['GZIP','UNCOMPRESSED']


所以
fastparquest
只支持“GZIP”?这与项目页面有很大差异!我是否丢失了一些包裹?如何将fastparquest与所有项目页面指定的压缩算法一起使用?

是的,您可能缺少一些软件包。您的系统必须首先具有python LZ4和/或ZS标准绑定。有关更多详细信息,请参阅

  • 对于LZ4:如果
    import LZ4.block
    给出了
    ModuleNotFoundError
    ,则继续使用
    pip安装LZ4
    进行安装

  • 与zstandard类似:
    pip安装zstandard

  • 对于brotli:
    pip安装brotlipy

  • 和lzo:
    pip安装pythonlzo

  • 和snappy:
    pip安装python snappy


非常感谢!按照您的建议安装所有软件包之后。现在,
fastparquet
有了选项['BROTLI','GZIP','LZ4','LZO','SNAPPY','UNCOMPRESSED','ZSTD']我在源代码中发现了一个问题。似乎压缩级别只能在GZIP模式下控制。
fastparquet.write('outfile.parq', df, compression='LZ4')