Package org.apache.iceberg.io
Class FanoutPositionOnlyDeleteWriter<T>
java.lang.Object
org.apache.iceberg.io.FanoutPositionOnlyDeleteWriter<T>
- All Implemented Interfaces:
Closeable,AutoCloseable,PartitioningWriter<PositionDelete<T>,DeleteWriteResult>
A position delete writer capable of writing to multiple specs and partitions if the incoming
stream of deletes is not ordered. If the incoming records are ordered by an external process, use
ClusteredPositionDeleteWriter instead.
Note this writer stores only positions. It does not store deleted records.
-
Constructor Summary
ConstructorsConstructorDescriptionFanoutPositionOnlyDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes) FanoutPositionOnlyDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes, DeleteGranularity granularity) FanoutPositionOnlyDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes, DeleteGranularity granularity, Function<CharSequence, PositionDeleteIndex> loadPreviousDeletes) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddResult(DeleteWriteResult result) protected DeleteWriteResultvoidclose()protected FileWriter<PositionDelete<T>, DeleteWriteResult> newWriter(PartitionSpec spec, StructLike partition) final DeleteWriteResultresult()Returns a result that contains information about writtenDataFiles orDeleteFiles.voidwrite(PositionDelete<T> row, PartitionSpec spec, StructLike partition) Writes a row to the provided spec/partition.
-
Constructor Details
-
FanoutPositionOnlyDeleteWriter
public FanoutPositionOnlyDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes) -
FanoutPositionOnlyDeleteWriter
public FanoutPositionOnlyDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes, DeleteGranularity granularity) -
FanoutPositionOnlyDeleteWriter
public FanoutPositionOnlyDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes, DeleteGranularity granularity, Function<CharSequence, PositionDeleteIndex> loadPreviousDeletes)
-
-
Method Details
-
newWriter
protected FileWriter<PositionDelete<T>,DeleteWriteResult> newWriter(PartitionSpec spec, StructLike partition) -
addResult
-
aggregatedResult
-
write
Description copied from interface:PartitioningWriterWrites a row to the provided spec/partition.- Specified by:
writein interfacePartitioningWriter<T,R> - Parameters:
row- a data or delete recordspec- a partition specpartition- a partition or null if the spec is unpartitioned
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
result
Description copied from interface:PartitioningWriterReturns a result that contains information about writtenDataFiles orDeleteFiles. The result is valid only after the writer is closed.- Specified by:
resultin interfacePartitioningWriter<T,R> - Returns:
- the writer result
-