pub struct ClusteredWriter<B, I = RecordBatch, O = Vec<DataFile>>where
B: IcebergWriterBuilder<I, O>,
O: IntoIterator + FromIterator<<O as IntoIterator>::Item>,
<O as IntoIterator>::Item: Clone,{ /* private fields */ }Expand description
A writer that writes data to a single partition at a time.
This writer expects input data to be sorted by partition key. It maintains only one active writer at a time, making it memory efficient for sorted data.
§Type Parameters
B- The inner writer builder typeI- Input type (defaults toRecordBatch)O- Output collection type (defaults toVec<DataFile>)
Implementations§
Source§impl<B, I, O> ClusteredWriter<B, I, O>where
B: IcebergWriterBuilder<I, O>,
I: Send + 'static,
O: IntoIterator + FromIterator<<O as IntoIterator>::Item>,
<O as IntoIterator>::Item: Send + Clone,
impl<B, I, O> ClusteredWriter<B, I, O>where
B: IcebergWriterBuilder<I, O>,
I: Send + 'static,
O: IntoIterator + FromIterator<<O as IntoIterator>::Item>,
<O as IntoIterator>::Item: Send + Clone,
Trait Implementations§
Source§impl<B, I, O> PartitioningWriter<I, O> for ClusteredWriter<B, I, O>where
B: IcebergWriterBuilder<I, O>,
I: Send + 'static,
O: IntoIterator + FromIterator<<O as IntoIterator>::Item> + Send + 'static,
<O as IntoIterator>::Item: Send + Clone,
impl<B, I, O> PartitioningWriter<I, O> for ClusteredWriter<B, I, O>where
B: IcebergWriterBuilder<I, O>,
I: Send + 'static,
O: IntoIterator + FromIterator<<O as IntoIterator>::Item> + Send + 'static,
<O as IntoIterator>::Item: Send + Clone,
Auto Trait Implementations§
impl<B, I, O> Freeze for ClusteredWriter<B, I, O>
impl<B, I, O> RefUnwindSafe for ClusteredWriter<B, I, O>where
<O as IntoIterator>::Item: Sized + RefUnwindSafe,
B: RefUnwindSafe,
<B as IcebergWriterBuilder<I, O>>::R: RefUnwindSafe,
I: RefUnwindSafe,
impl<B, I, O> Send for ClusteredWriter<B, I, O>
impl<B, I, O> Sync for ClusteredWriter<B, I, O>
impl<B, I, O> Unpin for ClusteredWriter<B, I, O>where
<O as IntoIterator>::Item: Sized + Unpin,
B: Unpin,
<B as IcebergWriterBuilder<I, O>>::R: Unpin,
I: Unpin,
impl<B, I, O> UnwindSafe for ClusteredWriter<B, I, O>where
<O as IntoIterator>::Item: Sized + UnwindSafe,
B: UnwindSafe,
<B as IcebergWriterBuilder<I, O>>::R: UnwindSafe,
I: UnwindSafe,
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
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more