dask - 使用 Dask 从多个 Python 进程编写 Parquet 文件
问题描述
是否可以从 Python 中的不同进程编写相同的 Parquet 文件夹?
我用fastparquet
.
它似乎有效,但我想知道_metadata
如果两个进程同时写入文件,文件如何不会发生冲突。
另外,为了使其正常工作,我必须使用ignore_divisions=True
这对于稍后在阅读 Parquet 文件时获得快速性能来说并不理想,对吗?
解决方案
Dask 整合了来自不同进程的元数据,因此它只_metadata
在其余部分完成后才写入文件,这发生在单个线程中。
如果您使用自己的多处理设置将单独的 parquet 文件写入单个文件夹,则每个文件通常都会写入单个数据文件,而根本不会写入_metadata
。您可以像 Dask 那样收集碎片,也可以在数据文件准备好后整合元数据。
推荐阅读
- reactjs - 为什么 React 抱怨没有提供密钥?
- flutter - 从一个小部件到另一个小部件画一条线并比较它们的内容
- java - 为 SmallRye-Kafka 传入消息指定 Avro 类类型
- linux - 如何为主目录中的所有用户创建带有文件夹的文件
- android - 支持布局的高级 2D 绘图 API
- javascript - 通过标头发送到服务器的 Cookie 令牌
- java - Spring Data JPA + Hibernate 保存子实体而不首先找到父实体
- mongodb - 从子文档数组中删除单个字符串
- windows-terminal - Windows 终端,在选项卡中启动两个命令
- c - 如何将程序组织成头文件和c文件