pub struct OptimizeBuilder<'a> { /* private fields */ }Expand description
Optimize a Delta table with given options
If a target file size is not provided then delta.targetFileSize from the
table’s configuration is read. Otherwise a default value is used.
Implementations§
Source§impl<'a> OptimizeBuilder<'a>
impl<'a> OptimizeBuilder<'a>
Sourcepub fn with_type(self, optimize_type: OptimizeType) -> OptimizeBuilder<'a>
pub fn with_type(self, optimize_type: OptimizeType) -> OptimizeBuilder<'a>
Choose the type of optimization to perform. Defaults to OptimizeType::Compact.
Sourcepub fn with_filters(self, filters: &'a [PartitionFilter]) -> OptimizeBuilder<'a>
pub fn with_filters(self, filters: &'a [PartitionFilter]) -> OptimizeBuilder<'a>
Only optimize files that return true for the specified partition filter
Sourcepub fn with_target_size(self, target: NonZero<u64>) -> OptimizeBuilder<'a>
pub fn with_target_size(self, target: NonZero<u64>) -> OptimizeBuilder<'a>
Set the target file size
Sourcepub fn with_writer_properties(
self,
writer_properties: WriterProperties,
) -> OptimizeBuilder<'a>
pub fn with_writer_properties( self, writer_properties: WriterProperties, ) -> OptimizeBuilder<'a>
Writer properties passed to parquet writer
Sourcepub fn with_commit_properties(
self,
commit_properties: CommitProperties,
) -> OptimizeBuilder<'a>
pub fn with_commit_properties( self, commit_properties: CommitProperties, ) -> OptimizeBuilder<'a>
Additional information to write to the commit
Sourcepub fn with_preserve_insertion_order(
self,
_preserve_insertion_order: bool,
) -> OptimizeBuilder<'a>
👎Deprecated since 0.32.0: compact always keeps partition file order, and z order does not; this setting has no effect
pub fn with_preserve_insertion_order( self, _preserve_insertion_order: bool, ) -> OptimizeBuilder<'a>
compact always keeps partition file order, and z order does not; this setting has no effect
Deprecated. This setting has no effect.
Sourcepub fn with_max_concurrent_tasks(
self,
max_concurrent_tasks: usize,
) -> OptimizeBuilder<'a>
pub fn with_max_concurrent_tasks( self, max_concurrent_tasks: usize, ) -> OptimizeBuilder<'a>
Max number of concurrent tasks
Sourcepub fn with_min_commit_interval(
self,
min_commit_interval: Duration,
) -> OptimizeBuilder<'a>
pub fn with_min_commit_interval( self, min_commit_interval: Duration, ) -> OptimizeBuilder<'a>
Min commit interval
Sourcepub fn with_custom_execute_handler(
self,
handler: Arc<dyn CustomExecuteHandler>,
) -> OptimizeBuilder<'a>
pub fn with_custom_execute_handler( self, handler: Arc<dyn CustomExecuteHandler>, ) -> OptimizeBuilder<'a>
Set a custom execute handler, for pre and post execution
Sourcepub fn with_session_state(
self,
session: Arc<dyn Session>,
) -> OptimizeBuilder<'a>
pub fn with_session_state( self, session: Arc<dyn Session>, ) -> OptimizeBuilder<'a>
Set the DataFusion session used for planning and execution.
The provided session should wrap a concrete datafusion::execution::context::SessionState.
If session is not a SessionState, the default policy is to log a warning and fall back to
internal defaults. To make this strict (error instead), set
with_session_fallback_policy(SessionFallbackPolicy::RequireSessionState).
Example: Arc::new(create_session().state()).
Sourcepub fn with_session_fallback_policy(
self,
policy: SessionFallbackPolicy,
) -> OptimizeBuilder<'a>
pub fn with_session_fallback_policy( self, policy: SessionFallbackPolicy, ) -> OptimizeBuilder<'a>
Control how delta-rs resolves the provided session when it is not a concrete SessionState.
Defaults to SessionFallbackPolicy::InternalDefaults to preserve existing behavior.
Trait Implementations§
Source§impl<'a> IntoFuture for OptimizeBuilder<'a>
impl<'a> IntoFuture for OptimizeBuilder<'a>
Source§type Output = Result<(DeltaTable, Metrics), DeltaTableError>
type Output = Result<(DeltaTable, Metrics), DeltaTableError>
Source§type IntoFuture = Pin<Box<dyn Future<Output = <OptimizeBuilder<'a> as IntoFuture>::Output> + Send + 'a>>
type IntoFuture = Pin<Box<dyn Future<Output = <OptimizeBuilder<'a> as IntoFuture>::Output> + Send + 'a>>
Source§fn into_future(self) -> <OptimizeBuilder<'a> as IntoFuture>::IntoFuture
fn into_future(self) -> <OptimizeBuilder<'a> as IntoFuture>::IntoFuture
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for OptimizeBuilder<'a>
impl<'a> !UnwindSafe for OptimizeBuilder<'a>
impl<'a> Freeze for OptimizeBuilder<'a>
impl<'a> Send for OptimizeBuilder<'a>
impl<'a> Sync for OptimizeBuilder<'a>
impl<'a> Unpin for OptimizeBuilder<'a>
impl<'a> UnsafeUnpin for OptimizeBuilder<'a>
Blanket Implementations§
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ
fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
Box<dyn Any>: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
std::any::type_name, since Any does not provide it and
Any::type_id is useless as a debugging aid (its Debug is just a mess of hex digits).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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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> ⓘ
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