解析する 2 ギガの csv ファイルがあり、ノードでは 1 ギガ未満のメモリ使用しか許可されず、次のエラーが発生すると思います。
Attempt to allocate Buffer larger than maximum size: 0x3fffffff bytes.
ファイルをストリーミングして data.json ファイルに書き込みたいと思います。
次に、mongoimport を使用して mongo に書き込みます。より効率的な方法があれば、どんなアイデアでも受け入れます。私は csvtojson を使用してきましたが、最高のパーサーとして papaparse を使用したいと思います。
csvtojson の使用
function csvToJson(callback){
console.log("in csvToJson");
var csvConverter = new Converter({constructResult: false, delimiter: delimiter, noheader: false });
var readStream = require("fs").createReadStream("fileName");
var writeStream = require("fs").createWriteStream("outputData.json");
writeStream.on("close", function () {
callback();
readStream.close();
writeStream.close();
});
readStream.pipe(csvConverter).pipe(writeStream);
}