我有源源不断的数据。我想对数据进行少量的实时处理(主要是压缩、滚动一些数据,不管需要做什么),然后存储数据。大概没问题。HDF5文件格式应该做得很好!OOC数据,没问题。皮特茅斯。
现在麻烦来了。偶尔,作为一个完全独立的过程,数据仍在收集中,我想要执行涉及数据(订单分钟)的耗时计算。这涉及到读取我正在写的同一份文件。
人们是怎么做到的?
当然,读一个你目前正在写的文件应该是很有挑战性的,但似乎它在过去一定已经出现了,人们已经考虑了某种巧妙的解决方案--或者至少是一种自然的解决方案。
部分解决办法:
这似乎在计算上也很昂贵,但也许无法解决这一问题。
发布于 2016-05-08 06:59:11
我建议您看看如何将Apache Kafka添加到管道中,它可以充当数据缓冲区,并帮助您将收集到的数据上完成的不同任务分离开来。
管道实例:
原始数据===> kafka主题(raw_data) ===>小处理====> kafak主题(light_processing) ===>从light_processing主题读取并写入db或文件的进程
同时,您可以使用另一个进程读取来自light_processing topic或任何其他主题的相同数据,并进行繁重的处理等等。
如果light processing和heavy processing都用相同的groupId连接到kafka主题,那么数据将被复制,两个进程将得到相同的流。
希望能帮上忙。
https://stackoverflow.com/questions/37096905
复制相似问题