Слишком много времени для чтения содержимого файла .psv на узле js (более 2 миллионов строк данных) - PullRequest
0 голосов
/ 25 января 2019

У меня более 2 миллионов строк данных в файле .psv, и я пытаюсь прочитать этот файл с помощью fs.readfile на nodejs, а затем разделить его на pipe, чтобы я хотел прочитать данные каждой строки из этого файла .psv , на обработку этого полного действия уходит 30-45 минут. Есть ли способ быстро выполнить этот полный процесс?

var fs = require('fs');

var firstLevelData = [];
var secondLevelData = [];
var filePath = 'sample-psvfile.psv';

async function readPsvFileContent() {
    fs.readFile(filePath, function (err, completeData) {
      if (completeData) {
            completeData = completeData.toString();
            // console.log(completeData);
            completeData.split('\n').forEach(function (line) {
            let rowData = line.split('|');
            if (rowData && rowData[2]) {
                let ovalue = rowData[2];
                let unique = ovalue;
                if (unique) {
                    let obj = {};
                    obj['index'] = rowData[1];
                    obj['name'] = rowData[0];
                    firstLevelData.push(obj);
                    if (rowData[4]) {
                        let ovalue2 = rowData[4];
                        let unique2 = ovalue2;
                        if (unique2) {
                            let obj1 = {};
                            obj1['index'] = rowData[3];
                            obj1['name'] = unique;
                            secondLevelData.push(obj1);
                        }
                    }
                }
            }
            });
        }
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...