Разбор больших текстовых файлов, измененных на лету

Мне нужно проанализировать большой файл CSV в реальном -времени, пока он модифицируется(добавляется )другим процессом. Под большим я подразумеваю ~20 ГБ на данный момент и постепенно увеличивается. Приложению нужно только обнаруживать и сообщать об определенных аномалиях в потоке данных, для чего ему нужно только хранить небольшую информацию о состоянии(O(1)пространство ).

Я думал об опросе атрибутов файла (размера )каждые пару секунд, открытии потока -только для чтения, поиске предыдущей позиции, а затем продолжении анализа, где я остановился в первый раз. Но так как это текстовый (CSV )файл, мне, очевидно, нужно отслеживать новые -символы строки при продолжении работы, чтобы гарантировать, что я всегда анализирую всю строку.

Если я не ошибаюсь, это не должно быть такой проблемой для реализации, но я хотел знать, есть ли общий способ/библиотека, которая уже решает некоторые из этих проблем?

Примечание.:Мне не нужен синтаксический анализатор CSV. Мне нужна информация о библиотеке, которая упрощает чтение строк из файла, который модифицируется на лету.

6
задан Groo 27 April 2012 в 11:41
поделиться