Объем памяти при загрузке и распаковке файла из S3 - PullRequest
1 голос
/ 07 февраля 2020

Допустим, у меня есть архив в S3, с которого я хочу прочитать. Мне интересно, как выглядит объем памяти следующего кода:

public BufferedReader getFile(bucketName, key) {
    S3Object zippedFile = s3Client.getObject(new GetObjectRequest(bucketName, key));
    GZIPInputStream gzp = new GZIPInputStream(zippedFile.getObjectContent());
    InputStream isr = InputStreamReader(gzp, StandardCharsets.UTF_8);

    fileStream = new BufferedReader(isr);
}


BufferedReader zippedFileStream = getFile(bucketName, key);
//do some processing on zippedFileStream
zippedFileStream.close();

Я немного незнаком с тем, как файловые указатели / потоки работают в Java. Учитывая, что этот файл, который я собираюсь распаковать, имеет большой размер (порядка гигабайта), как быстро я могу начать обработку этого файла? Что я хочу сделать, так это избегать хранения огромных объемов данных в памяти, если это возможно. Ценю помощь!

...