Compact/Merge 使用 Pyarrow 的镶木地板文件?

Compact/Merge parquet files using Pyarrow?

我想将小的 parquet 文件合并成 1 或 2 个更大的文件。是否可以设置最大文件大小?我的目标是获取 200MB-1GB 之间的文件以优化 Athena 请求。可以用 Pyarrow 做吗?

目前(版本 2)无法设置最大文件大小。您可以做的一件事是使用 pyarrow.parquet.ParquetWriter class 分块编写写入文件。一旦你写了一个块,你可以检查当前写入内容的大小。关闭编写器后,文件中将添加更多数据,但通常小于 64kb。确保不要选择太小的行组,因为这会破坏 Parquet 的压缩和编码性能。我建议选择一个块大小(行数),在您的情况下通常会产生 50MiB 的数据。