Skip to content

Add RangeReadable interface for range base FileIO reads#4608

Merged
rdblue merged 16 commits into
apache:masterfrom
danielcweeks:s3fileio-range-reads
Apr 25, 2022
Merged

Add RangeReadable interface for range base FileIO reads#4608
rdblue merged 16 commits into
apache:masterfrom
danielcweeks:s3fileio-range-reads

Conversation

@danielcweeks
Copy link
Copy Markdown
Contributor

This PR adds an optional interface, RangeReadable, which allows for positional, range-based reads to support object stores like S3 that prefer bounded reads.

Comment thread api/src/main/java/org/apache/iceberg/io/RangeReadable.java Outdated
Comment thread aws/src/main/java/org/apache/iceberg/aws/s3/S3InputStream.java Outdated
@danielcweeks
Copy link
Copy Markdown
Contributor Author

@electrum I just an FYI, this adds the range based read and simplifies this path significantly as compared to AWS SDK v1 since much of the stream copy logic is handled by SDK v2. This possibly save an array copy as well.

@danielcweeks danielcweeks requested a review from rdblue April 22, 2022 22:10
Comment thread aws/src/main/java/org/apache/iceberg/aws/s3/S3InputStream.java Outdated
Comment thread aws/src/main/java/org/apache/iceberg/aws/s3/S3InputStream.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/io/RangeReadable.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/io/RangeReadable.java Outdated
@github-actions github-actions Bot added the core label Apr 23, 2022
Comment thread aws/src/main/java/org/apache/iceberg/aws/s3/S3InputStream.java
Comment thread core/src/main/java/org/apache/iceberg/io/IOUtil.java Outdated
@danielcweeks danielcweeks requested a review from rdblue April 23, 2022 19:35
Comment thread api/src/main/java/org/apache/iceberg/io/RangeReadable.java
Comment thread core/src/main/java/org/apache/iceberg/io/IOUtil.java Outdated
danielcweeks and others added 3 commits April 24, 2022 13:53
Replace readFully implementation with one from Parquet, with tests
@rdblue rdblue merged commit a655c80 into apache:master Apr 25, 2022
@rdblue
Copy link
Copy Markdown
Contributor

rdblue commented Apr 25, 2022

Thanks, @danielcweeks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants