[−][src]Enum datafusion::logical_plan::LogicalPlan
A LogicalPlan represents the different types of relational operators (such as Projection, Filter, etc) and can be created by the SQL query planner and the DataFrame API.
A LogicalPlan represents transforming an input relation (table) to an output relation (table) with a (potentially) different schema. A plan represents a dataflow tree where data flows from leaves up to the root to produce the query result.
Variants
Evaluates an arbitrary list of expressions (essentially a SELECT with an expression list) on its input.
Fields of Projection
expr: Vec<Expr>
The list of expressions
input: Arc<LogicalPlan>
The incoming logical plan
schema: SchemaRef
The schema description of the output
Filters rows from its input that do not match an expression (essentially a WHERE clause with a predicate expression).
Semantically, <predicate>
is evaluated for each row of the input;
If the value of <predicate>
is true, the input row is passed to
the output. If the value of <predicate>
is false, the row is
discarded.
Fields of Filter
predicate: Expr
The predicate expression, which must have Boolean type.
input: Arc<LogicalPlan>
The incoming logical plan
Aggregates its input based on a set of grouping and aggregate expressions (e.g. SUM).
Fields of Aggregate
Sorts its input according to a list of sort expressions.
Fields of Sort
Produces rows from a table that has been registered on a context
Fields of TableScan
Produces rows that come from a Vec
of in memory RecordBatch
es
Fields of InMemoryScan
Produces rows by scanning Parquet file(s)
Fields of ParquetScan
Produces rows by scanning a CSV file(s)
Fields of CsvScan
path: String
The path to the files
schema: SchemaRef
The underlying table schema
has_header: bool
Whether the CSV file(s) have a header containing column names
delimiter: Option<u8>
An optional column delimiter. Defaults to b','
projection: Option<Vec<usize>>
Optional column indices to use as a projection
projected_schema: SchemaRef
The schema description of the output
Produces no rows: An empty relation with an empty schema
Fields of EmptyRelation
schema: SchemaRef
The schema description of the output
Produces the first n
tuples from its input and discards the rest.
Fields of Limit
Creates an external table.
Fields of CreateExternalTable
Produces a relation with string representations of various parts of the plan
Fields of Explain
verbose: bool
Should extra (detailed, intermediate plans) be included?
plan: Arc<LogicalPlan>
The logical plan that is being EXPLAIN'd
stringified_plans: Vec<StringifiedPlan>
Represent the various stages plans have gone through
schema: SchemaRef
The output schema of the explain (2 columns of text)
Extension operator defined outside of DataFusion
Fields of Extension
node: Arc<dyn UserDefinedLogicalNode + Send + Sync>
The runtime extension operator
Implementations
impl LogicalPlan
[src]
pub fn schema(&self) -> &SchemaRef
[src]
Get a reference to the logical plan's schema
pub fn explain_schema() -> SchemaRef
[src]
Returns the (fixed) output schema for explain plans
Trait Implementations
impl Clone for LogicalPlan
[src]
fn clone(&self) -> LogicalPlan
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for LogicalPlan
[src]
Auto Trait Implementations
impl !RefUnwindSafe for LogicalPlan
impl Send for LogicalPlan
impl Sync for LogicalPlan
impl Unpin for LogicalPlan
impl !UnwindSafe for LogicalPlan
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,