pub struct StreamingTableExec { /* private fields */ }Expand description
An ExecutionPlan for one or more PartitionStreams.
If your source can be represented as one or more PartitionStreams, you can
use this struct to implement ExecutionPlan.
Implementations§
source§impl StreamingTableExec
impl StreamingTableExec
sourcepub fn try_new(
schema: SchemaRef,
partitions: Vec<Arc<dyn PartitionStream>>,
projection: Option<&Vec<usize>>,
projected_output_ordering: impl IntoIterator<Item = LexOrdering>,
infinite: bool
) -> Result<Self>
pub fn try_new( schema: SchemaRef, partitions: Vec<Arc<dyn PartitionStream>>, projection: Option<&Vec<usize>>, projected_output_ordering: impl IntoIterator<Item = LexOrdering>, infinite: bool ) -> Result<Self>
Try to create a new StreamingTableExec returning an error if the schema is incorrect
pub fn partitions(&self) -> &Vec<Arc<dyn PartitionStream>>
pub fn partition_schema(&self) -> &SchemaRef
pub fn projection(&self) -> &Option<Arc<[usize]>>
pub fn projected_schema(&self) -> &Schema
pub fn projected_output_ordering(&self) -> impl IntoIterator<Item = LexOrdering>
pub fn is_infinite(&self) -> bool
Trait Implementations§
source§impl Debug for StreamingTableExec
impl Debug for StreamingTableExec
source§impl DisplayAs for StreamingTableExec
impl DisplayAs for StreamingTableExec
source§impl ExecutionPlan for StreamingTableExec
impl ExecutionPlan for StreamingTableExec
source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Returns the execution plan as
Any so that it can be
downcast to a specific implementation.source§fn output_partitioning(&self) -> Partitioning
fn output_partitioning(&self) -> Partitioning
Specifies how the output of this
ExecutionPlan is split into
partitions.source§fn unbounded_output(&self, _children: &[bool]) -> Result<bool>
fn unbounded_output(&self, _children: &[bool]) -> Result<bool>
Specifies whether this plan generates an infinite stream of records.
If the plan does not support pipelining, but its input(s) are
infinite, returns an error to indicate this.
source§fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
If the output of this
ExecutionPlan within each partition is sorted,
returns Some(keys) with the description of how it was sorted. Read moresource§fn equivalence_properties(&self) -> EquivalenceProperties
fn equivalence_properties(&self) -> EquivalenceProperties
Get the
EquivalenceProperties within the plan. Read moresource§fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>
fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>
Get a list of children
ExecutionPlans that act as inputs to this plan.
The returned list will be empty for leaf nodes such as scans, will contain
a single value for unary nodes, or two values for binary nodes (such as
joins).source§fn with_new_children(
self: Arc<Self>,
children: Vec<Arc<dyn ExecutionPlan>>
) -> Result<Arc<dyn ExecutionPlan>>
fn with_new_children( self: Arc<Self>, children: Vec<Arc<dyn ExecutionPlan>> ) -> Result<Arc<dyn ExecutionPlan>>
Returns a new
ExecutionPlan where all existing children were replaced
by the children, oi ordersource§fn execute(
&self,
partition: usize,
ctx: Arc<TaskContext>
) -> Result<SendableRecordBatchStream>
fn execute( &self, partition: usize, ctx: Arc<TaskContext> ) -> Result<SendableRecordBatchStream>
source§fn required_input_distribution(&self) -> Vec<Distribution>
fn required_input_distribution(&self) -> Vec<Distribution>
Specifies the data distribution requirements for all the
children for this
ExecutionPlan, By default it’s [Distribution::UnspecifiedDistribution] for each child,source§fn required_input_ordering(&self) -> Vec<Option<Vec<PhysicalSortRequirement>>>
fn required_input_ordering(&self) -> Vec<Option<Vec<PhysicalSortRequirement>>>
Specifies the ordering required for all of the children of this
ExecutionPlan. Read moresource§fn maintains_input_order(&self) -> Vec<bool>
fn maintains_input_order(&self) -> Vec<bool>
Returns
false if this ExecutionPlan’s implementation may reorder
rows within or between partitions. Read moresource§fn benefits_from_input_partitioning(&self) -> Vec<bool>
fn benefits_from_input_partitioning(&self) -> Vec<bool>
Specifies whether the
ExecutionPlan benefits from increased
parallelization at its input for each child. Read moresource§fn repartitioned(
&self,
_target_partitions: usize,
_config: &ConfigOptions
) -> Result<Option<Arc<dyn ExecutionPlan>>>
fn repartitioned( &self, _target_partitions: usize, _config: &ConfigOptions ) -> Result<Option<Arc<dyn ExecutionPlan>>>
If supported, attempt to increase the partitioning of this
ExecutionPlan to
produce target_partitions partitions. Read moresource§fn metrics(&self) -> Option<MetricsSet>
fn metrics(&self) -> Option<MetricsSet>
Return a snapshot of the set of
Metrics for this
ExecutionPlan. If no Metrics are available, return None. Read moresource§fn statistics(&self) -> Result<Statistics>
fn statistics(&self) -> Result<Statistics>
Returns statistics for this
ExecutionPlan node. If statistics are not
available, should return Statistics::new_unknown (the default), not
an error.Auto Trait Implementations§
impl !RefUnwindSafe for StreamingTableExec
impl Send for StreamingTableExec
impl Sync for StreamingTableExec
impl Unpin for StreamingTableExec
impl !UnwindSafe for StreamingTableExec
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