pub struct DeltaWriter<DW, PDW, EDW> {
pub data_writer: DW,
pub pos_delete_writer: PDW,
pub eq_delete_writer: EDW,
pub unique_cols: Vec<i32>,
pub seen_rows: HashMap<OwnedRow, Position>,
/* private fields */
}Expand description
A writer that handles row-level changes by combining data file and delete file writers.
Fields§
§data_writer: DWThe data file writer for new and updated rows.
pos_delete_writer: PDWThe position delete file writer for deletions of existing rows (that have been written within this writer).
eq_delete_writer: EDWThe equality delete file writer for deletions of rows based on equality conditions (for rows that may exist in other data files).
unique_cols: Vec<i32>The list of unique columns used for equality deletes.
seen_rows: HashMap<OwnedRow, Position>A map of rows (projected to unique columns) to their corresponding position information.
Trait Implementations§
Source§impl<DW, PDW, EDW> IcebergWriter for DeltaWriter<DW, PDW, EDW>
impl<DW, PDW, EDW> IcebergWriter for DeltaWriter<DW, PDW, EDW>
Source§fn write<'life0, 'async_trait>(
&'life0 mut self,
batch: RecordBatch,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn write<'life0, 'async_trait>(
&'life0 mut self,
batch: RecordBatch,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Write data to iceberg table.
Source§fn close<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Vec<DataFile>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Vec<DataFile>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close the writer and return the written data files.
If close failed, the data written before maybe be lost. User may need to recreate the writer and rewrite the data again. Read more
Auto Trait Implementations§
impl<DW, PDW, EDW> Freeze for DeltaWriter<DW, PDW, EDW>
impl<DW, PDW, EDW> RefUnwindSafe for DeltaWriter<DW, PDW, EDW>
impl<DW, PDW, EDW> Send for DeltaWriter<DW, PDW, EDW>
impl<DW, PDW, EDW> Sync for DeltaWriter<DW, PDW, EDW>
impl<DW, PDW, EDW> Unpin for DeltaWriter<DW, PDW, EDW>
impl<DW, PDW, EDW> UnwindSafe for DeltaWriter<DW, PDW, EDW>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for T
impl<T> Downcast for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Decompress response bodies. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more