Package org.apache.iceberg.io
Class RollingPositionDeleteWriter<T>
- java.lang.Object
-
- org.apache.iceberg.io.RollingPositionDeleteWriter<T>
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,FileWriter<PositionDelete<T>,DeleteWriteResult>
public class RollingPositionDeleteWriter<T> extends java.lang.Object
A rolling position delete writer that splits incoming deletes into multiple files within one spec/partition based on the target file size.
-
-
Constructor Summary
Constructors Constructor Description RollingPositionDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes, PartitionSpec spec, StructLike partition)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addResult(DeleteWriteResult result)
protected DeleteWriteResult
aggregatedResult()
void
close()
java.lang.CharSequence
currentFilePath()
long
currentFileRows()
long
length()
Returns the number of bytes that were currently written by this writer.protected PositionDeleteWriter<T>
newWriter(EncryptedOutputFile file)
protected void
openCurrentWriter()
protected StructLike
partition()
R
result()
Returns a result that contains information about writtenDataFile
s orDeleteFile
s.protected PartitionSpec
spec()
void
write(T row)
Writes a row to a predefined spec/partition.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.iceberg.io.FileWriter
write
-
-
-
-
Constructor Detail
-
RollingPositionDeleteWriter
public RollingPositionDeleteWriter(FileWriterFactory<T> writerFactory, OutputFileFactory fileFactory, FileIO io, long targetFileSizeInBytes, PartitionSpec spec, StructLike partition)
-
-
Method Detail
-
newWriter
protected PositionDeleteWriter<T> newWriter(EncryptedOutputFile file)
-
addResult
protected void addResult(DeleteWriteResult result)
-
aggregatedResult
protected DeleteWriteResult aggregatedResult()
-
spec
protected PartitionSpec spec()
-
partition
protected StructLike partition()
-
currentFilePath
public java.lang.CharSequence currentFilePath()
-
currentFileRows
public long currentFileRows()
-
length
public long length()
Description copied from interface:FileWriter
Returns the number of bytes that were currently written by this writer.- Specified by:
length
in interfaceFileWriter<T,W extends FileWriter<T,R>>
- Returns:
- the number of written bytes
-
write
public void write(T row)
Description copied from interface:FileWriter
Writes a row to a predefined spec/partition.- Specified by:
write
in interfaceFileWriter<T,W extends FileWriter<T,R>>
- Parameters:
row
- a data or delete record
-
openCurrentWriter
protected void openCurrentWriter()
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
result
public final R result()
Description copied from interface:FileWriter
Returns a result that contains information about writtenDataFile
s orDeleteFile
s. The result is valid only after the writer is closed.- Specified by:
result
in interfaceFileWriter<T,W extends FileWriter<T,R>>
- Returns:
- the file writer result
-
-