我们有 500GB 的文件,其中包含整数行。我们如何使用 Node.js 仅用 512Mb RAM 对其进行排序?我想是这样的:
一些想法?
更新: 感谢用户some-random-it-boy 这个解决方案基于具有本机排序实用程序的子进程。我认为它应该有效)
var fs = require('fs'),
spawn = require('child_process').spawn,
sort = spawn('sort', ['in.txt']);
var writer = fs.createWriteStream('out.txt');
sort.stdout.on('data', function (data) {
writer.write(data)
});
sort.on('exit', function (code) {
if (code) console.log(code); //if some error
writer.end();
});
Run Code Online (Sandbox Code Playgroud)