Package org.apache.iceberg.io
Interface PositionDeltaWriter<T>
- Type Parameters:
T
- the row type
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
BasePositionDeltaWriter
A writer capable of writing data and position deletes that may belong to different specs and
partitions.
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
delete
(CharSequence path, long pos, PartitionSpec spec, StructLike partition) Deletes a position in the provided spec/partition.void
delete
(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.void
insert
(T row, PartitionSpec spec, StructLike partition) Inserts a row to the provided spec/partition.result()
Returns a result that contains information about writtenDataFile
s orDeleteFile
s.default void
update
(T row, PartitionSpec spec, StructLike partition) Inserts a new version of an existing row to the provided spec/partition.
-
Method Details
-
insert
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
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
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
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 writtenDataFile
s orDeleteFile
s. The result is valid only after the writer is closed.- Returns:
- the writer result
-