node.js 如何流式传输 22GB gzipped 文件,即时解压缩

met*_*ate 0 stream gunzip node.js

我需要遍历 22GB 压缩文件中的行。展开后,文件为 250GB。(这是Google Freebase db dump

我对流不太了解。有没有办法在我走的时候流式传输文件并对其进行压缩?

这是另一种方式:

var r = fs.createReadStream('file.txt');
var z = zlib.createGzip();
var w = fs.createWriteStream('file.txt.gz');
r.pipe(z).pipe(w);
Run Code Online (Sandbox Code Playgroud)

Dan*_* D. 5

这是使用zlib.createGunzip代替的反向操作zlib.createGzip

var r = fs.createReadStream('file.txt.gz');
var z = zlib.createGunzip();
var w = fs.createWriteStream('file.txt');
r.pipe(z).pipe(w);
Run Code Online (Sandbox Code Playgroud)