1

Node を使用してアプリケーションからのログ ファイルを処理していますが、トラフィック量が多いため、これらのサイズは毎日ギガバイト程度になる可能性があります。

ファイルは毎晩把握されており、ディスクに解凍せずにファイルを読み取る必要があります。

私が理解していることから、zlibを使用してファイルを何らかの形式のストリームに解凍できますが、データを取得する方法がわかりませんし、一度に1行ずつ簡単に処理する方法もわかりません(ただし、ある種の\n を検索する while ループが含まれます。

これまでに見つけた最も近い答えは、ストリームを sax パーサーにパイプする方法を示すことでしたが、ノード全体のパイプ/ストリームは少し混乱しています

fs.createReadStream('large.xml.gz').pipe(zlib.createUnzip()).pipe(saxStream);
4

1 に答える 1