Struct datafusion::physical_plan::filter::FilterExec
source · pub struct FilterExec { /* private fields */ }
Expand description
FilterExec evaluates a boolean predicate against all input batches to determine which rows to include in its output batches.
Implementations§
source§impl FilterExec
impl FilterExec
sourcepub fn try_new(
predicate: Arc<dyn PhysicalExpr>,
input: Arc<dyn ExecutionPlan>
) -> Result<Self>
pub fn try_new(
predicate: Arc<dyn PhysicalExpr>,
input: Arc<dyn ExecutionPlan>
) -> Result<Self>
Create a FilterExec on an input
sourcepub fn predicate(&self) -> &Arc<dyn PhysicalExpr>
pub fn predicate(&self) -> &Arc<dyn PhysicalExpr>
The expression to filter on. This expression must evaluate to a boolean value.
sourcepub fn input(&self) -> &Arc<dyn ExecutionPlan>
pub fn input(&self) -> &Arc<dyn ExecutionPlan>
The input plan
Trait Implementations§
source§impl Debug for FilterExec
impl Debug for FilterExec
source§impl ExecutionPlan for FilterExec
impl ExecutionPlan for FilterExec
source§fn output_partitioning(&self) -> Partitioning
fn output_partitioning(&self) -> Partitioning
Get the output partitioning of this plan
source§fn statistics(&self) -> Statistics
fn statistics(&self) -> Statistics
The output statistics of a filtering operation can be estimated if the predicate’s selectivity value can be determined for the incoming data.
source§fn children(&self) -> Vec<Arc<dyn ExecutionPlan>> ⓘ
fn children(&self) -> Vec<Arc<dyn ExecutionPlan>> ⓘ
Get a list of child execution plans that provide the input for this plan. The returned list
will be empty for leaf nodes, will contain a single value for unary nodes, or two
values for binary nodes (such as joins). Read more
source§fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
If the output of this operator is sorted, returns
Some(keys)
with the description of how it was sorted. Read moresource§fn maintains_input_order(&self) -> bool
fn maintains_input_order(&self) -> bool
Returns
false
if this operator’s implementation may reorder
rows within or between partitions. Read moresource§fn equivalence_properties(&self) -> EquivalenceProperties
fn equivalence_properties(&self) -> EquivalenceProperties
Get the EquivalenceProperties within the plan
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 plan where all children were replaced by new plans.
source§fn execute(
&self,
partition: usize,
context: Arc<TaskContext>
) -> Result<SendableRecordBatchStream>
fn execute(
&self,
partition: usize,
context: Arc<TaskContext>
) -> Result<SendableRecordBatchStream>
creates an iterator
source§fn metrics(&self) -> Option<MetricsSet>
fn metrics(&self) -> Option<MetricsSet>
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 operator, By default it’s [Distribution::UnspecifiedDistribution] for each child, Read more
source§fn required_input_ordering(&self) -> Vec<Option<&[PhysicalSortExpr]>> ⓘ
fn required_input_ordering(&self) -> Vec<Option<&[PhysicalSortExpr]>> ⓘ
Specifies the ordering requirements for all the
children for this operator. Read more
source§fn relies_on_input_order(&self) -> bool
fn relies_on_input_order(&self) -> bool
Returns
true
if this operator relies on its inputs being
produced in a certain order (for example that they are sorted
a particular way) for correctness. Read moresource§fn benefits_from_input_partitioning(&self) -> bool
fn benefits_from_input_partitioning(&self) -> bool
Returns
true
if this operator would benefit from
partitioning its input (and thus from more parallelism). For
operators that do very little work the overhead of extra
parallelism may outweigh any benefits Read more