首页 > 解决方案 > 如何在追加期间写入锁定 zarr 存储?

问题描述

使用时有什么方法可以锁定zarr商店append吗?

我已经发现append与多个进程一起使用是一个坏主意(要追加的批次与商店的批次大小不一致)。我想使用多个进程的原因是因为我需要在将原始数组附加到zarr存储之前转换它们。如果能够阻止其他进程同时写入但仍然并行执行转换,然后将它们的数据串联起来,那就太好了。

编辑:

感谢 jdehesa 的建议,我开始了解文档的同步部分。我ProcessSynchronizer在主线程中创建时将磁盘上的一个文件夹的指向传递给了我的数组,然后生成了一堆工作进程concurrent.futures并将数组传递给所有工作人员,以便他们附加他们的结果。我可以看到它ProcessSynchronizer做了一些事情,因为我指向它的文件夹充满了文件,但是我的工作人员写入的数组最终丢失了行(与从单个进程写入时相比)。

标签: pythonzarr

解决方案


推荐阅读