强制 dask to_parquet 写入单个文件

Chr*_*ian 7 python pandas parquet dask

使用时会创建dask.to_parquet(df, filename)一个子文件夹filename,并将多个文件写入该文件夹,而pandas.to_parquet(df, filename)只写入一个文件。我可以使用 dask to_parquet(不使用compute()创建 pandas df )只写入单个文件吗?

mdu*_*ant 2

在并行系统中写入单个文件非常困难。抱歉,Dask(也可能是任何其他并行处理库)不提供这样的选项。

理论上,您可以通过大量的工作来执行该操作:您需要迭代数据帧的分区,写入目标文件(保持打开状态)并将输出行组累积到文件的最终元数据页脚。我知道如何使用 fastparquet 来解决这个问题,但该库不再得到太多开发。