使用Dask从多个Python进程编写Parquet文件

时间:2019-11-23 16:45:39

标签: dask parquet fastparquet

是否可以用Python的不同进程编写相同的Parquet文件夹?

我使用fastparquet

这似乎可行,但是我想知道如果两个进程同时向_metadata文件写入文件,怎么可能没有冲突。

也要使其正常工作,我不得不使用ignore_divisions=True,这对以后读取Parquet文件时获得快速性能不是理想的选择吗?

1 个答案:

答案 0 :(得分:2)

Dask合并了来自各个进程的元数据,以便仅在其余部分完成后才写入_metadata文件,并且这发生在单个线程中。

如果您使用自己的多处理设置将单独的实木复合地板文件写入单个文件夹,则每个文件通常都将写入单个数据文件,而根本不会写入任何_metadata。您可以像Dask一样收集碎片,也可以在数据文件准备好之后合并它们的元数据。