pub enum LogicalPlan {
Show 16 variants
DataFrameScan {
df: DataFrame,
},
CsvScan {
path: PathBuf,
predicate: Option<Expr>,
projection: Option<Vec<String>>,
},
ParquetScan {
path: PathBuf,
predicate: Option<Expr>,
projection: Option<Vec<String>>,
},
Concat {
inputs: Vec<LogicalPlan>,
schema: Option<SchemaRef>,
},
Projection {
input: Box<LogicalPlan>,
exprs: Vec<Expr>,
kind: ProjectionKind,
},
Filter {
input: Box<LogicalPlan>,
predicate: Expr,
},
Aggregate {
input: Box<LogicalPlan>,
group_by: Vec<Expr>,
aggs: Vec<Expr>,
},
Join {
left: Box<LogicalPlan>,
right: Box<LogicalPlan>,
keys: JoinKeys,
how: JoinType,
},
Sort {
input: Box<LogicalPlan>,
options: SortOptions,
},
Slice {
input: Box<LogicalPlan>,
offset: usize,
len: usize,
from_end: bool,
},
Unique {
input: Box<LogicalPlan>,
subset: Option<Vec<String>>,
},
FillNull {
input: Box<LogicalPlan>,
fill: FillNull,
},
DropNulls {
input: Box<LogicalPlan>,
subset: Option<Vec<String>>,
},
NullCount {
input: Box<LogicalPlan>,
},
Explode {
input: Box<LogicalPlan>,
column: String,
},
Implode {
input: Box<LogicalPlan>,
},
}Expand description
Logical plan nodes and projection kinds.
Logical query plan nodes for LazyFrame.
Variants§
DataFrameScan
Scan an in-memory DataFrame.
CsvScan
Scan a CSV file (predicate/projection may be pushed down).
ParquetScan
Scan a Parquet file (predicate/projection may be pushed down).
Concat
Strict vertical concatenation of two or more compatible inputs.
Fields
inputs: Vec<LogicalPlan>Inputs in declared output order.
Projection
Projection node (select or with_columns).
Filter
Filter node.
Aggregate
Aggregate node (group keys and aggregations).
Join
Join two inputs.
Sort
Sort input rows.
Slice
Slice rows (used for head/tail).
Unique
Remove duplicate rows.
FillNull
Fill nulls using a scalar or strategy.
DropNulls
Drop rows containing nulls.
NullCount
Count nulls per column.
Fields
input: Box<LogicalPlan>Explode
Explode one list column.
Implode
Implode columns into one row of list columns.
Fields
input: Box<LogicalPlan>Implementations§
Source§impl LogicalPlan
impl LogicalPlan
Sourcepub fn concat(inputs: Vec<(LogicalPlan, SchemaRef)>) -> Result<Self>
pub fn concat(inputs: Vec<(LogicalPlan, SchemaRef)>) -> Result<Self>
Construct a strict vertical concat plan from schema-known inputs.
All input schemas must have identical field names, order, data types, and nullability. The check happens before execution and no implicit coercion is attempted.
Sourcepub fn concat_deferred(inputs: Vec<LogicalPlan>) -> Result<Self>
pub fn concat_deferred(inputs: Vec<LogicalPlan>) -> Result<Self>
Construct a concat whose source schemas are intentionally unavailable until bounded open.
The streaming executor preflights every child schema before publishing its first result.
Trait Implementations§
Source§impl Clone for LogicalPlan
impl Clone for LogicalPlan
Source§fn clone(&self) -> LogicalPlan
fn clone(&self) -> LogicalPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more