pub struct BatchPartitionMerger { /* private fields */ }Expand description
Merges multiple partitions by splitting the work in batches to use less memory. The batches are based on event times.
Implementations§
Source§impl BatchPartitionMerger
impl BatchPartitionMerger
pub fn new( file_schema: Arc<Schema>, view_factory: Arc<ViewFactory>, session_configurator: Arc<dyn SessionConfigurator>, merge_batch_query: String, approx_nb_rows_per_batch: i64, ) -> BatchPartitionMerger
Trait Implementations§
Source§impl Debug for BatchPartitionMerger
impl Debug for BatchPartitionMerger
Source§impl PartitionMerger for BatchPartitionMerger
impl PartitionMerger for BatchPartitionMerger
Source§fn execute_merge_query<'life0, 'async_trait>(
&'life0 self,
lakehouse: Arc<LakehouseContext>,
partitions_to_merge: Arc<Vec<Partition>>,
partitions_all_views: Arc<PartitionCache>,
insert_range: TimeRange,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn RecordBatchStream<Item = Result<RecordBatch, DataFusionError>> + Send>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
BatchPartitionMerger: 'async_trait,
fn execute_merge_query<'life0, 'async_trait>(
&'life0 self,
lakehouse: Arc<LakehouseContext>,
partitions_to_merge: Arc<Vec<Partition>>,
partitions_all_views: Arc<PartitionCache>,
insert_range: TimeRange,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn RecordBatchStream<Item = Result<RecordBatch, DataFusionError>> + Send>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
BatchPartitionMerger: 'async_trait,
Executes the merge query.
Auto Trait Implementations§
impl Freeze for BatchPartitionMerger
impl !RefUnwindSafe for BatchPartitionMerger
impl Send for BatchPartitionMerger
impl Sync for BatchPartitionMerger
impl Unpin for BatchPartitionMerger
impl !UnwindSafe for BatchPartitionMerger
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> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].