-
Notifications
You must be signed in to change notification settings - Fork 3k
Core: Add FileWriter interface #3149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
cc @openinx @stevenzwu @RussellSpitzer @rdblue @kbendick @karuppayya @flyrain @pvary @jackye1995 @yyanyy @szehon-ho @rymurr @jun-he This PR contains a subset of changes in PR #2945. |
| * A factory for creating data and delete writers. | ||
| */ | ||
| public interface WriterFactory<T> { | ||
| public interface FileWriterFactory<T> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This API was added recently and we haven't consumed it anywhere yet.
9a90f18 to
4d41a62
Compare
| this.keyMetadata = keyMetadata != null ? keyMetadata.buffer() : null; | ||
| this.delete = PositionDelete.create(); | ||
| this.pathSet = CharSequenceSet.empty(); | ||
| this.referencedDataFiles = CharSequenceSet.empty(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4d41a62 to
ea0af86
Compare
core/src/main/java/org/apache/iceberg/io/EqualityDeleteWriteResult.java
Outdated
Show resolved
Hide resolved
|
Looks good overall. My only complaint is that I doubt we need separate result classes for both position and equality deletes. But that's minor and up to you. Merge when you're ready and tests are passing! |
ea0af86 to
5e3d593
Compare
|
Thanks for reviewing, @rdblue! |
This PR adds the
FileWriterinterface that defines a contract for writing a number of files of a single type within one spec/partition.