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