전에 이런 일을 한 적은 없었으므로 어쨌든 물어볼 것이라고 생각했습니다.Node.js에서 매우 큰 (> 1GB) tar.gz 파일을 읽는 방법은 무엇입니까?
Node.js에서 매우 큰 파일을 읽는 올바른 방법은 무엇입니까? 파일이 너무 커서 한 번에 모두 읽을 수 없다고 가정 해보십시오. 파일이 .zip
또는 .tar.gz
형식으로 제공 될 수도 있습니다.
첫 번째 질문은 파일 압축을 풀고 디스크에 저장하는 것이 가장 좋습니다 (지금 Mac에서 Stuffit을 사용하고 있습니다). 그런 다음 해당 파일을 사용 하시겠습니까? 또는 압축 된 .zip
또는 .tar.gz
버전에서 곧바로 IO 스트림을 읽을 수 있습니까? 압축 된 파일에서 내용의 형식을 알아야 할 필요가 있으므로 압축을 풀어야합니다 (이 .tar.gz
파일이 실제로는 .dat
파일임을 알았습니다) ...
그런 다음 주요 문제는 다음과 같습니다. Node.js에서이 큰 파일을 읽으려면 어떻게해야합니까? 1GB XML 파일이라고 가정 해 봅시다. 구문 분석을 시작할 때 어디에서보아야합니까? XML을 파싱하는 방법은 아니지만 큰 파일을 한 줄씩 읽는다면 이전 줄의 컨텍스트를 알아야하는 XML과 같은 구문을 어떻게 파싱해야합니까?
나는 fs.createReadStream
을 보았지만 주위를 어지럽히는 것이 두려워 ... 내 컴퓨터를 폭발하고 싶지는 않습니다. 그냥 올바른 방향으로 몇 가지 포인터를 찾고.
무엇을하고 싶습니까? –
어쨌든 매우 큰 CSV라고 가정하고 각 행에 대해 데이터베이스 레코드를 만들고 싶습니다. –
두 가지 문제가 있습니다. 1. Node 용 스트리밍 Zip 파일 판독기가 있습니까? 2. 스트리밍 XML 판독기 (첫 번째 스트림을 입력으로 사용할 수 있음)가 있습니까? 어떤 옵션이 있는지 알지 못하지만 검색하면 도움이 될 것입니다 ... – Joe