我需要实时解析一个大型 CSV 文件,同时它正在被不同的进程修改(附加)。大我的意思是此时约 20 GB,并且正在缓慢增长。应用程序只需要检测和报告数据流中的某些异常情况,它只需要存储少量的状态信息(O(1)
空间)。
我正在考虑每隔几秒钟轮询一次文件的属性(大小),打开一个只读流,寻找上一个位置,然后继续解析我第一次停止的位置。但由于这是一个文本 (CSV) 文件,我显然需要在以某种方式继续时跟踪换行符,以确保我总是解析一整行。
如果我没记错的话,这不应该是一个实现的问题,但我想知道是否有一种通用的方法/库已经解决了其中一些问题?
注意:我不需要 CSV 解析器。我需要有关一个库的信息,该库可以简化从动态修改的文件中读取行的过程。