別のプロセスによって変更(追加) されている間に、大きな CSV ファイルをリアルタイムで解析する必要があります。概して、この時点で最大 20 GB であり、ゆっくりと成長しています。アプリケーションは、データ ストリーム内の特定の異常を検出して報告するだけで済みます。そのためには、小さな状態情報 (O(1)
スペース) を保存するだけで済みます。
数秒ごとにファイルの属性 (サイズ) をポーリングし、読み取り専用ストリームを開き、前の位置にシークし、最初に停止した場所で解析を続行することを考えていました。しかし、これはテキスト (CSV) ファイルであるため、何らかの方法で続行する場合は、明らかに改行文字を追跡して、常に行全体を解析できるようにする必要があります。
私が間違っていなければ、これは実装するのにそれほど問題ではないはずですが、これらの問題のいくつかをすでに解決する一般的な方法/ライブラリがあるかどうか知りたいですか?
注: CSV パーサーは必要ありません。その場で変更されているファイルからの行の読み取りを簡素化するライブラリに関する情報が必要です。