我正在尝试从GCS存储桶存储中读取大型avro文件。该文件约为7gb。我正在使用下面的Java代码来读取文件并进行处理。
com.google.cloud.storage.Blob blob ; //avro file in GCS
SeekableByteArrayInput input = new SeekableByteArrayInput(blob.getContent()); //throws memory exception
DatumReader<GenericRecord> datumReader = new GenericDatumReader();
DataFileReader<GenericRecord> dataFileReader= new DataFileReader(input, datumReader);
while (dataFileReader.hasNext()) {
//logic to process each record in avro file
}
当我使用blob.getContent()时,程序抛出内存不足异常。我尝试使用-Xms -Xmx选项来增加内存。但这没有用。有什么更好的方法来加载大型avro文件的内容