【问题标题】:How many files does zarr generate?zarr 生成多少文件?
【发布时间】:2019-04-12 17:34:30
【问题描述】:

我正在寻找一个线程安全的替代 hdf5 的替代品,以便在多处理环境中读取,并偶然发现zarr,根据基准,据说它基本上是 python 环境中 h5py 的直接替代品。

我试过了,到目前为止一切都很好,但我无法理解 zarr 输出的文件数量。

如果我使用 h5py 写入 h5 文件,则只有一个文件结果,而 zarr 似乎在子文件夹中输出随机数量的文件。

有人能解释一下为什么会这样吗?创建文件的确切数量取决于什么?

提前致谢

【问题讨论】:

    标签: python parallel-processing zarr


    【解决方案1】:

    Zarr 通常将键(特定的块索引)映射到表示该块数据的值(二进制 blob)。如果您使用DirectoryStore,这会导致许多不同的文件被写入磁盘。看到的文件数量取决于您的数组有多少块以及哪些块包含非平凡内容(如非零值)。

    【讨论】:

    • 感谢您的回复!所以这基本上是默认行为,我必须处理它?
    • 这是 Zarr 在幕后工作的结果。如果需要单个文件,可以使用其他存储。就像使用 LMDB。引用了下面所有这些的列表。参考:zarr.readthedocs.io/en/stable/api/storage.html
    猜你喜欢
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 2015-12-29
    相关资源
    最近更新 更多