Package org.apache.iceberg.deletes
Class SortingPositionOnlyDeleteWriter<T>
java.lang.Object
org.apache.iceberg.deletes.SortingPositionOnlyDeleteWriter<T>
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- FileWriter<PositionDelete<T>,- DeleteWriteResult> 
public class SortingPositionOnlyDeleteWriter<T>
extends Object
implements FileWriter<PositionDelete<T>,DeleteWriteResult> 
A position delete writer that is capable of handling unordered deletes without rows.
 
This writer keeps an in-memory bitmap of deleted positions per each seen data file and flushes
 the result into a file when closed. This enables writing position delete files when the incoming
 records are not ordered by file and position as required by the spec. If the incoming deletes are
 ordered by an external process, use PositionDeleteWriter instead.
 
Note this writer stores only positions. It does not store deleted records.
- 
Constructor SummaryConstructorsConstructorDescriptionSortingPositionOnlyDeleteWriter(Supplier<FileWriter<PositionDelete<T>, DeleteWriteResult>> writers, DeleteGranularity granularity) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()longlength()Returns the number of bytes that were currently written by this writer.result()Returns a result that contains information about writtenDataFiles orDeleteFiles.voidwrite(PositionDelete<T> positionDelete) Writes a row to a predefined spec/partition.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.iceberg.io.FileWriterwrite
- 
Constructor Details- 
SortingPositionOnlyDeleteWriter
- 
SortingPositionOnlyDeleteWriterpublic SortingPositionOnlyDeleteWriter(Supplier<FileWriter<PositionDelete<T>, DeleteWriteResult>> writers, DeleteGranularity granularity) 
 
- 
- 
Method Details- 
writeDescription copied from interface:FileWriterWrites a row to a predefined spec/partition.- Specified by:
- writein interface- FileWriter<PositionDelete<T>,- DeleteWriteResult> 
- Parameters:
- positionDelete- a data or delete record
 
- 
lengthpublic long length()Description copied from interface:FileWriterReturns the number of bytes that were currently written by this writer.- Specified by:
- lengthin interface- FileWriter<PositionDelete<T>,- DeleteWriteResult> 
- Returns:
- the number of written bytes
 
- 
resultDescription copied from interface:FileWriterReturns a result that contains information about writtenDataFiles orDeleteFiles. The result is valid only after the writer is closed.- Specified by:
- resultin interface- FileWriter<PositionDelete<T>,- DeleteWriteResult> 
- Returns:
- the file writer result
 
- 
close- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Throws:
- IOException
 
 
-