【发布时间】:2018-07-09 02:58:26
【问题描述】:
我在内存中有一些数据想要存储在 HDF 文件中。
我的数据并不大(始终完全同步并不重要,只要它们都有效(即没有损坏),并且我可以手动触发同步。
我可以将我的数据保存在内存中的单独容器中,然后按需将其铲入 HDF 对象中。如果可能的话,我想避免写这个层。这将要求我跟踪哪些部分已更改,并有选择地更新这些部分。我希望 HDF 会为我解决这个问题。
我知道 driver='core' 具有后备存储功能,但它是 AFAICT,它仅在 关闭 文件时同步后备存储。 我可以flush 文件,但这是否保证将对象写入存储?
从查看HDF5源代码看来,答案是肯定的。但我想听听确认。
额外问题:driver='core' 实际上比普通文件系统后端快吗?我需要注意什么?
【问题讨论】:
-
你试过了吗?
-
简单地说。我添加了一个数据集,我调用了flush,大约一秒钟后,操作系统告诉我文件大小增加了。