pub struct DefaultEngineBuilder<E> { /* private fields */ }Expand description
Builder for creating DefaultEngine instances.
§Example
// Build a DefaultEngine with default executor
let engine = DefaultEngineBuilder::new(Arc::new(LocalFileSystem::new()))
.build();
// Build with a custom executor
let engine = DefaultEngineBuilder::new(Arc::new(LocalFileSystem::new()))
.with_task_executor(Arc::new(TokioBackgroundExecutor::new()))
.build();Implementations§
Source§impl DefaultEngineBuilder<DefaultTaskExecutor>
impl DefaultEngineBuilder<DefaultTaskExecutor>
Sourcepub fn new(object_store: Arc<DynObjectStore>) -> Self
pub fn new(object_store: Arc<DynObjectStore>) -> Self
Create a new DefaultEngineBuilder instance with the default executor.
Sourcepub fn build(self) -> DefaultEngine<TokioBackgroundExecutor>
pub fn build(self) -> DefaultEngine<TokioBackgroundExecutor>
Build the DefaultEngine instance.
Source§impl<E> DefaultEngineBuilder<E>
impl<E> DefaultEngineBuilder<E>
Sourcepub fn with_task_executor<F: TaskExecutor>(
self,
task_executor: Arc<F>,
) -> DefaultEngineBuilder<Arc<F>>
pub fn with_task_executor<F: TaskExecutor>( self, task_executor: Arc<F>, ) -> DefaultEngineBuilder<Arc<F>>
Set a custom task executor for the engine.
See executor::TaskExecutor for more details.
Sourcepub fn with_buffer_size(self, buffer_size: NonZero<usize>) -> Self
pub fn with_buffer_size(self, buffer_size: NonZero<usize>) -> Self
Set the maximum number of files read concurrently by the JSON and Parquet handlers in their
read_*_files paths. This is the file-level I/O readahead depth: higher values overlap more
object-store requests to hide latency, at the cost of more in-flight memory.
Defaults to the handlers’ built-in value when unset. Ordering of returned data is preserved regardless of this value.
Sourcepub fn with_batch_size(self, batch_size: NonZero<usize>) -> Self
pub fn with_batch_size(self, batch_size: NonZero<usize>) -> Self
Set the maximum number of rows per batch yielded by the JSON and Parquet handlers in their
read_*_files paths.
Defaults to the handlers’ built-in value when unset. Overall read memory usage is roughly
proportional to buffer_size * batch_size.
Source§impl<E: TaskExecutor> DefaultEngineBuilder<Arc<E>>
impl<E: TaskExecutor> DefaultEngineBuilder<Arc<E>>
Sourcepub fn build(self) -> DefaultEngine<E>
pub fn build(self) -> DefaultEngine<E>
Build the DefaultEngine instance.
Trait Implementations§
Auto Trait Implementations§
impl<E> !RefUnwindSafe for DefaultEngineBuilder<E>
impl<E> !UnwindSafe for DefaultEngineBuilder<E>
impl<E> Freeze for DefaultEngineBuilder<E>where
E: Freeze,
impl<E> Send for DefaultEngineBuilder<E>where
E: Send,
impl<E> Sync for DefaultEngineBuilder<E>where
E: Sync,
impl<E> Unpin for DefaultEngineBuilder<E>where
E: Unpin,
impl<E> UnsafeUnpin for DefaultEngineBuilder<E>where
E: UnsafeUnpin,
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
Source§impl<T> FoldWithOption for T
impl<T> FoldWithOption 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> ⓘ
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