我有连续的数据流。我想对数据进行少量的实时处理(主要是压缩、从末尾滚动一些数据,无论需要做什么),然后存储数据。估计没问题。HDF5文件格式太好了!OOC数据,没问题。Pytables公司。在
现在麻烦来了。有时,作为一个完全独立的过程,数据仍在收集中,我希望执行一个涉及数据的耗时计算(订单分钟)。这包括读取我正在写的同一个文件。在
人们是怎么做到的?在
至少在过去的一些人看来,这是一个很有挑战性的解决方案。在
部分解决方案:
看起来HDF5-1.10.0有一个SWMR功能-单写多读。这似乎正是我想要的。我找不到这个最新版本的python包装器,或者如果它存在,我无法让python与hdf5的正确版本对话。欢迎在此提供任何建议。我用的是康达软件包管理器。
我可以想象写入缓冲区,缓冲区偶尔会被刷新并添加到大型数据库中。如何确保在执行此操作时不会丢失经过的数据?
这看起来也可能在计算上很昂贵,但可能无法绕过这个问题。在
我建议您考虑一下将^{} 添加到您的管道中,它可以充当数据缓冲区,并帮助您分离对所收集的数据执行的不同任务。在
管道示例:
原始数据===>;kafka主题(原始数据)===>;小处理===>;kafak主题(轻处理)===>;从
light_processing
主题读取并写入数据库或文件的进程同时,您可以使用另一个进程从
light_processing topic
或任何其他主题读取相同的数据,并进行繁重的处理等等。在如果}都使用相同的groupId连接到kafka主题,则数据将被复制,两个进程将获得相同的流
light processing
和{希望有帮助。在
相关问题 更多 >
编程相关推荐