2015-03-02 245 views
0

我需要遍歷22GB gzip文件中的行。擴展後,文件爲250GB(這是Google Freebase db dumpnode.js如何流化22GB gzip壓縮文件解壓縮

我對流並不太瞭解。有沒有辦法在我去的時候流文件和gunzip?

這裏打算的其他方式:

var r = fs.createReadStream('file.txt'); 
var z = zlib.createGzip(); 
var w = fs.createWriteStream('file.txt.gz'); 
r.pipe(z).pipe(w); 
+0

即數據的大規模** **量;通常這些數據實際上只用於媒體系統(音樂,視頻),可以使用行業標準過程(CODEC)進行* CO *壓縮和* DEC壓縮。你需要流傳什麼樣的數據呢? – Claies 2015-03-02 23:59:05

+0

這是Google Freebase轉儲。它只有一個尺寸。 – metalaureate 2015-03-03 00:31:39

回答

3

下面是使用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); 
+0

謝謝 - 最後一件事:我將如何限制前1000行? – metalaureate 2015-03-03 13:22:57