Package org.apache.iceberg.io
Interface PositionDeltaWriter<T>
-
- Type Parameters:
T- the row type
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable
- All Known Implementing Classes:
BasePositionDeltaWriter
public interface PositionDeltaWriter<T> extends java.io.CloseableA writer capable of writing data and position deletes that may belong to different specs and partitions.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voiddelete(java.lang.CharSequence path, long pos, PartitionSpec spec, StructLike partition)Deletes a position in the provided spec/partition.voiddelete(java.lang.CharSequence path, long pos, T row, PartitionSpec spec, StructLike partition)Deletes a position in the provided spec/partition and records the deleted row in the delete file.voidinsert(T row, PartitionSpec spec, StructLike partition)Inserts a row to the provided spec/partition.WriteResultresult()Returns a result that contains information about writtenDataFiles orDeleteFiles.default voidupdate(T row, PartitionSpec spec, StructLike partition)Inserts a new version of an existing row to the provided spec/partition.
-
-
-
Method Detail
-
insert
void insert(T row, PartitionSpec spec, StructLike partition)
Inserts a row to the provided spec/partition.- Parameters:
row- a data recordspec- a partition specpartition- a partition or null if the spec is unpartitioned
-
update
default void update(T row, PartitionSpec spec, StructLike partition)
Inserts a new version of an existing row to the provided spec/partition.This method allows writers to distinguish new and updated records. The caller must separately invoke
delete(CharSequence, long, PartitionSpec, StructLike)for the original row position that is being updated.- Parameters:
row- a new version of an existing rowspec- a new partition specpartition- a new partition or null if the spec is unpartitioned
-
delete
default void delete(java.lang.CharSequence path, long pos, PartitionSpec spec, StructLike partition)Deletes a position in the provided spec/partition.- Parameters:
path- a data file pathpos- a positionspec- a partition specpartition- a partition or null if the spec is unpartitioned
-
delete
void delete(java.lang.CharSequence path, long pos, T row, PartitionSpec spec, StructLike partition)Deletes a position in the provided spec/partition and records the deleted row in the delete file.- Parameters:
path- a data file pathpos- a positionrow- a deleted rowspec- a partition specpartition- a partition or null if the spec is unpartitioned
-
result
WriteResult result()
Returns a result that contains information about writtenDataFiles orDeleteFiles. The result is valid only after the writer is closed.- Returns:
- the writer result
-
-