1

fastparquetのプロジェクトページによると、fastparquetさまざまな圧縮方法をサポート

オプション (圧縮アルゴリズム。gzip は常に使用可能):

snappy (aka python-snappy)
lzo
brotli
lz4
zstandard

特にzstandard、高い圧縮率と印象的な高速圧縮/解凍速度を提供する最新のアルゴリズムです。そして、これが私が fastparquet に望むものです。

しかし、fastparquet.writeのドキュメントでは

各列に適用する圧縮。たとえば、GZIP や SNAPPY、または {"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', '非圧縮']

fastparquest「GZIP」のみをサポートしますか?これは、プロジェクト ページとはかなり異なります。いくつかのパッケージがありませんか? すべてのプロジェクトページに記載されている圧縮アルゴリズムで fastparquest を使用するには?

4

1 に答える 1

1

はい、一部のパッケージが不足している可能性があります。システムには、最初に python LZ4 および/または zstandard バインディングが必要です。詳細については、ソース コードを参照してください。

  • LZ4 の場合: がimport lz4.block与えられた場合は、ModuleNotFoundErrorインストールに進みpip install lz4ます。

  • 同様に zstandard の場合:pip install zstandard

  • そしてブロトリの場合:pip install brotlipy

  • そしてlzo:pip install python-lzo

  • そしてきびきびと:pip install python-snappy

于 2020-01-23T05:03:40.583 に答える