我试图从S3中读取大块文件到块中,而没有为并行处理切割任何行。如何从S3使用aws-java-sdk读取块的文件块
让我通过示例来解释: S3上有1G大小的文件。我想把这个文件分成64MB的卡盘。这很容易,我可以这样做:
S3Object s3object = s3.getObject(new GetObjectRequest(bucketName, key));
InputStream stream = s3object.getObjectContent();
byte[] content = new byte[64*1024*1024];
while (stream.read(content) != -1) {
//process content here
}
但块的问题是它可能有100个完整的行和一个不完整的。但我不能处理不完整的行,不想丢弃它。
是否有办法处理这种情况?意味着所有的卡盘都没有偏线。