1

解析する 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);

}

4

0 に答える 0