【发布时间】:2016-05-08 16:11:10
【问题描述】:
我有一个连续的数据流。我想实时对数据进行少量处理(主要是压缩,最后滚动一些数据,无论需要做什么),然后存储数据。估计没问题。 HDF5 文件格式应该很棒! OOC数据,没问题。 Pytables。
现在麻烦了。有时,作为一个完全独立的过程以便仍在收集数据,我想执行涉及数据的耗时计算(订单分钟)。这涉及读取我正在编写的同一个文件。
人们如何做到这一点?
当然,阅读您当前正在编写的文件应该是具有挑战性的,但它似乎在过去已经出现了足够多的情况,以至于人们已经考虑过某种巧妙的解决方案——或者至少是一种自然的工作——周围。
部分解决方案:
似乎 HDF5-1.10.0 具有 SWMR 能力 - 单写多读。这似乎正是我想要的。我找不到这个最新版本的 python 包装器,或者如果它存在,我无法让 Python 与正确版本的 hdf5 对话。这里的任何提示都会受到欢迎。我正在使用 Conda 包管理器。
我可以想象写入缓冲区,该缓冲区偶尔会被刷新并添加到大型数据库中。如何确保在执行此操作时不会丢失经过的数据?
这似乎在计算上也可能很昂贵,但也许无法解决这个问题。
- 收集更少的数据。这有什么好玩的?
【问题讨论】:
标签: python read-write data-stream