我正在从
DataFrame
写出一个压缩的 Parquet 文件,如下所示:
result_df.to_parquet("my-data.parquet", compression="zstd")
如何指导 Pandas zstd 编码的压缩级别?
据我所知,Pandas 的
to_parquet
函数没有提供直接参数来指定 Zstd 压缩算法的压缩级别。但是,在编写 Parquet 文件时,您可以使用 pyarrow
或 fastparquet
等外部库来控制 Zstd 的压缩级别。
以下是如何使用这些库指定压缩级别:
使用
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)
使用
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 压缩级别的能力可能取决于您所使用的库的特定版本,因此请确保您安装了最新版本。