쉘 스크립트에서 R 함수를 사용하여 대용량 파일을 읽는 중 오류가 발생했습니다.

쉘 스크립트에서 R 함수를 사용하여 대용량 파일을 읽는 중 오류가 발생했습니다.

185405149줄과 헤더가 포함된 텍스트 파일이 있습니다. 나는 이 bash 스크립트에서 이 파일을 읽고 있습니다:

#!/bin/bash
#PBS -N R_Job
#PBS -l walltime=4:00:00
#PBS -l vmem=20gb

module load R/4.2.1

cd filepath/

R --save -q -f script.R

스크립트의 일부는 다음과 같습니다.

# import the gtex data 
gtex_data <- read.table("/filepath/file.txt", header=TRUE)

오류가 발생합니다. 오류: 2.0GB 크기의 벡터를 할당할 수 없습니다. 실행이 중지되었습니다.

디렉토리/파일 경로와는 아무런 관련이 없습니다. 나는 그것이 기억과 관련이 있다고 의심합니다. 파일(예: file.txt.gz)을 압축하고 다음 명령을 사용한 후에도:

gtex_data <- read.table(gzfile("/filepath/file.txt.gz"), header=TRUE) 

데이터를 읽지 않습니다.

file.txt의 처음 100줄을 읽고 이름을 바꾸고 로드하는 등 더 작은 파일을 사용해 보았는데 잘 작동합니다.

vmem을 늘려보았나요? 무엇을 해야할지 모르겠습니다. 어떤 조언이나 도움이라도 주시면 감사하겠습니다.

파일 크기도 확인해 봤습니다.

ls -lh file.txt -rw-r--r-- 1 ... 107M 10월 26일 16:50 file.txt

관련 정보