Struct datafusion::datasource::streaming::StreamingTable
source · pub struct StreamingTable { /* private fields */ }
Expand description
A TableProvider
that streams a set of PartitionStream
Implementations§
source§impl StreamingTable
impl StreamingTable
sourcepub fn try_new(
schema: SchemaRef,
partitions: Vec<Arc<dyn PartitionStream>>
) -> Result<Self>
pub fn try_new( schema: SchemaRef, partitions: Vec<Arc<dyn PartitionStream>> ) -> Result<Self>
Try to create a new StreamingTable
returning an error if the schema is incorrect
sourcepub fn with_infinite_table(self, infinite: bool) -> Self
pub fn with_infinite_table(self, infinite: bool) -> Self
Sets streaming table can be infinite.
Trait Implementations§
source§impl TableProvider for StreamingTable
impl TableProvider for StreamingTable
source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Returns the table provider as
Any
so that it can be
downcast to a specific implementation.source§fn table_type(&self) -> TableType
fn table_type(&self) -> TableType
Get the type of this table for metadata/catalog purposes.
source§fn scan<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_state: &'life1 SessionState,
projection: Option<&'life2 Vec<usize>>,
_filters: &'life3 [Expr],
_limit: Option<usize>
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn scan<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, _state: &'life1 SessionState, projection: Option<&'life2 Vec<usize>>, _filters: &'life3 [Expr], _limit: Option<usize> ) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Create an ExecutionPlan that will scan the table.
The table provider will be usually responsible of grouping
the source data into partitions that can be efficiently
parallelized or distributed.
source§fn get_table_definition(&self) -> Option<&str>
fn get_table_definition(&self) -> Option<&str>
Get the create statement used to create this table, if available.
source§fn get_logical_plan(&self) -> Option<&LogicalPlan>
fn get_logical_plan(&self) -> Option<&LogicalPlan>
Get the Logical Plan of this table, if available.
source§fn supports_filter_pushdown(
&self,
_filter: &Expr
) -> Result<TableProviderFilterPushDown>
fn supports_filter_pushdown( &self, _filter: &Expr ) -> Result<TableProviderFilterPushDown>
👎Deprecated since 20.0.0: use supports_filters_pushdown instead
Tests whether the table provider can make use of a filter expression
to optimise data retrieval.
source§fn supports_filters_pushdown(
&self,
filters: &[&Expr]
) -> Result<Vec<TableProviderFilterPushDown>>
fn supports_filters_pushdown( &self, filters: &[&Expr] ) -> Result<Vec<TableProviderFilterPushDown>>
Tests whether the table provider can make use of any or all filter expressions
to optimise data retrieval.
source§fn statistics(&self) -> Option<Statistics>
fn statistics(&self) -> Option<Statistics>
Get statistics for this table, if available
source§fn insert_into<'life0, 'life1, 'async_trait>(
&'life0 self,
_state: &'life1 SessionState,
_input: Arc<dyn ExecutionPlan>
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_into<'life0, 'life1, 'async_trait>( &'life0 self, _state: &'life1 SessionState, _input: Arc<dyn ExecutionPlan> ) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Return an
ExecutionPlan
to insert data into this table, if
supported. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for StreamingTable
impl Send for StreamingTable
impl Sync for StreamingTable
impl Unpin for StreamingTable
impl !UnwindSafe for StreamingTable
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