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.Closeable
    A writer capable of writing data and position deletes that may belong to different specs and partitions.
    • Method Detail

      • insert

        void insert​(T row,
                    PartitionSpec spec,
                    StructLike partition)
        Inserts a row to the provided spec/partition.
        Parameters:
        row - a data record
        spec - a partition spec
        partition - 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 row
        spec - a new partition spec
        partition - 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 path
        pos - a position
        spec - a partition spec
        partition - 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 path
        pos - a position
        row - a deleted row
        spec - a partition spec
        partition - a partition or null if the spec is unpartitioned
      • result

        WriteResult result()
        Returns a result that contains information about written DataFiles or DeleteFiles. The result is valid only after the writer is closed.
        Returns:
        the writer result