【问题标题】:Decompression 'SNAPPY' not available with fastparquetfastparquet 不提供解压“SNAPPY”
【发布时间】:2018-11-20 21:10:23
【问题描述】:

我正在尝试使用 fastparquet 打开文件,但出现错误:

RuntimeError: Decompression 'SNAPPY' not available.  Options: ['GZIP', 'UNCOMPRESSED']

我安装了以下内容并重新启动了我的解释器:

python                    3.6.5                hc3d631a_2  
python-snappy             0.5.2                    py36_0    conda-forge
snappy                    1.1.7                hbae5bb6_3  
fastparquet               0.1.5                    py36_0    conda-forge

一切顺利下载。我不知道我是否需要 snappy 或 python-snappy,所以我得到了一个没有修复并得到另一个,仍然没有成功。下载 snappy 时,我发现的所有相关问题都已修复,但我仍然遇到此错误,因为我有两个 snappy!任何帮助将不胜感激。

【问题讨论】:

  • 这有什么更新吗?
  • 我最终使用 pyspark 来读取我的文件,因为我没有收到任何回复。我不确定如何解决这个问题,但我的项目已经向前推进了。
  • 对我也不起作用,即使按照@Catbuilts 的建议安装了 pyspark。我通过使用 GZIP 压缩来保存 Parquet 文件,然后切换到 pyarrow 引擎,因为这样更快。
  • conda install -c conda-forge python-snappy fastparquet snappy 为我工作。从 conda 基本频道安装这些无法以某种方式工作。
  • 您好,只是想知道您是如何设置 pyspark 并获得此问题的结果的?我在使用 pandas 时遇到了同样的错误。

标签: python-3.x snappy fastparquet


【解决方案1】:

以下安装非常有用

pip install fastparquet

pip install python-snappy

pip install pyarrow

【讨论】:

    【解决方案2】:

    您需要按照Catbuilts 的响应安装python-snappy。但是,它只是应安装在您的计算机中的 c 中 snappy implementation 的包装,此问题已在有关安装 snappy-c 的 answer 中得到解决。

    假设你有一个基于DEB的系统,比如ubuntu,你可以通过:

    sudo apt-get install libsnappy-dev
    python3 -m pip install --user python-snappy
    

    要测试它,您可以尝试以下脚本:

    import pandas as pd
    import snappy  # Not required but snappy (python-snappy) module should be reachable
    from fastparquet import write, ParquetFile
    df = pd.DataFrame({"col1": [1,2,3,4], "col2": ["a","b","c","d"]})
    # df.head() # Test your initial value
    write("/tmp/deleteme", df, compression="SNAPPY")
    df_parquet = ParquetFile("/tmp/deleteme").to_pandas()
    df_parquet.head()
    

    【讨论】:

      【解决方案3】:

      运行:

      pip install python-snappy
      pip install pyarrow 
      

      它应该可以解决问题。

      我认为你缺少 pyarrow 包。

      如果pip 有错误,请改用conda(即conda install python-snappy 或者如果您仍然有错误conda install -c conda-forge python-snappy)。

      【讨论】:

      • 安装 pyarrow 是无关紧要的。 conda install -c conda-forge python-snappy fastparquet snappy 为我工作。从基本频道安装这些无法以某种方式工作。
      • ^ this 是这里的解决方案;您需要来自同一频道的 python-snappy(包装器)和 snappy(C 库)
      猜你喜欢
      • 2017-11-02
      • 2020-05-09
      • 2021-09-01
      • 1970-01-01
      • 2021-01-06
      • 2020-09-30
      • 2020-06-01
      • 1970-01-01
      • 2019-05-01
      相关资源
      最近更新 更多