pub struct DeltaTableBuilder { /* private fields */ }Expand description
Configures and loads one immutable Delta table snapshot.
The asynchronous path uses the caller’s Tokio runtime. Scans return a pull-driven stream and do not materialize the whole table.
§Example
use delta_arrow_reader::{DeltaComparison, DeltaPredicate, DeltaScalar, DeltaTableBuilder};
use futures_util::TryStreamExt;
let table = DeltaTableBuilder::new("/tmp/example-delta-table")
.load_async()
.await?;
let scan = table
.scan()
.with_projection(vec!["id".into(), "name".into()])
.with_predicate(DeltaPredicate::Compare {
column: "id".into(),
op: DeltaComparison::GtEq,
value: DeltaScalar::Int64(10),
})
.with_limit(100)
.build()
.await?;
let mut batches = scan.execute().await?;
while let Some(batch) = batches.try_next().await? {
println!("rows={}", batch.num_rows());
}Implementations§
Source§impl DeltaTableBuilder
impl DeltaTableBuilder
Sourcepub fn new(table_uri: impl Into<String>) -> Self
pub fn new(table_uri: impl Into<String>) -> Self
Creates a builder for the latest snapshot with default execution settings.
Sourcepub fn with_storage_options(self, value: DeltaStorageOptions) -> Self
pub fn with_storage_options(self, value: DeltaStorageOptions) -> Self
Replaces the storage options forwarded during table loading.
Sourcepub const fn with_snapshot_selection(
self,
value: DeltaSnapshotSelection,
) -> Self
pub const fn with_snapshot_selection( self, value: DeltaSnapshotSelection, ) -> Self
Selects the Delta snapshot to load.
Sourcepub const fn with_execution_options(
self,
value: DeltaReaderExecutionOptions,
) -> Self
pub const fn with_execution_options( self, value: DeltaReaderExecutionOptions, ) -> Self
Replaces the default execution settings used by scans of this table.
Sourcepub fn load(self) -> Result<DeltaTable, DeltaReaderError>
pub fn load(self) -> Result<DeltaTable, DeltaReaderError>
Loads the snapshot on the calling thread.
Sourcepub async fn load_async(self) -> Result<DeltaTable, DeltaReaderError>
pub async fn load_async(self) -> Result<DeltaTable, DeltaReaderError>
Loads the snapshot through the caller-owned Tokio runtime.
Sourcepub fn load_snapshot(self) -> Result<DeltaTableSnapshot, DeltaReaderError>
pub fn load_snapshot(self) -> Result<DeltaTableSnapshot, DeltaReaderError>
Loads snapshot metadata without converting its logical Arrow schema.
Sourcepub async fn load_snapshot_async(
self,
) -> Result<DeltaTableSnapshot, DeltaReaderError>
pub async fn load_snapshot_async( self, ) -> Result<DeltaTableSnapshot, DeltaReaderError>
Loads snapshot metadata through the caller-owned Tokio runtime.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DeltaTableBuilder
impl RefUnwindSafe for DeltaTableBuilder
impl Send for DeltaTableBuilder
impl Sync for DeltaTableBuilder
impl Unpin for DeltaTableBuilder
impl UnsafeUnpin for DeltaTableBuilder
impl UnwindSafe for DeltaTableBuilder
Blanket Implementations§
impl<T> Allocation for T
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)
Obtains a
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> ⓘ
Obtains an
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>
Converts the object to
Box<dyn Any>: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
Convenient wrapper for
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
Mutably borrows from an owned value. Read more
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> ⓘ
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