Pandas DataFrame.write_parquet() 并设置 Zstd 压缩级别

问题描述 投票:0回答:1

我正在从

DataFrame
写出一个压缩的 Parquet 文件,如下所示:

result_df.to_parquet("my-data.parquet", compression="zstd")

如何指导 Pandas zstd 编码的压缩级别?

python pandas parquet zstd
1个回答
0
投票

据我所知,Pandas 的

to_parquet
函数没有提供直接参数来指定 Zstd 压缩算法的压缩级别。但是,在编写 Parquet 文件时,您可以使用
pyarrow
fastparquet
等外部库来控制 Zstd 的压缩级别。

以下是如何使用这些库指定压缩级别:

  1. 使用

    pyarrow

    首先,确保您安装了

    pyarrow
    库:

    pip install pyarrow
    

    然后,您可以使用它来编写具有特定 Zstd 压缩级别的 Parquet 文件:

    import pyarrow.parquet as pq
    
    # Specify the compression level using the compression_level parameter
    compression_level = 3  # You can adjust this value (1-22) as needed
    pq.write_table(result_df, "my-data.parquet", compression="zstd", compression_level=compression_level)
    
  2. 使用

    fastparquet

    首先,确保您安装了

    fastparquet
    库:

    pip install fastparquet
    

    然后,您可以使用它来编写具有特定 Zstd 压缩级别的 Parquet 文件:

    import fastparquet
    
    # Specify the compression level using the compression parameter
    compression_level = 3  # You can adjust this value (1-22) as needed
    fastparquet.write("my-data.parquet", result_df, compression="ZSTD", compression_level=compression_level)
    

注意: 设置 Zstd 压缩级别的能力可能取决于您所使用的库的特定版本,因此请确保您安装了最新版本。

© www.soinside.com 2019 - 2024. All rights reserved.