Module datafusion::physical_plan[][src]

Expand description

Traits for physical query plan, supporting parallel execution for partitioned relations.

Re-exports

pub use display::DisplayFormatType;
pub use self::planner::PhysicalPlanner;

Modules

Declaration of built-in (aggregate) functions. This module contains built-in aggregates’ enumeration and metadata.

Array expressions

CoalesceBatchesExec combines small batches into larger batches for more efficient use of vectorized processing by upstream operators.

Defines the merge plan for executing partitions in parallel and then merging the results into a single partition

Defines common code used in execution plans

Defines the cross join plan for loading the left side of the cross join and producing batches in parallel for the right partitions

Crypto expressions

Execution plan for reading CSV files

DateTime expressions

Implementation of physical plan display. See crate::physical_plan::displayable for examples of how to format

Implementations for DISTINCT expressions, e.g. COUNT(DISTINCT c)

EmptyRelation execution plan

Defines the EXPLAIN operator

Defines physical expressions that can evaluated at runtime during query execution

FilterExec evaluates a boolean predicate against all input batches to determine which rows to include in its output batches.

Declaration of built-in (scalar) functions. This module contains built-in functions’ enumeration and metadata.

Defines the execution plan for the hash aggregate operation

Defines the join plan for executing partitions in parallel and then joining the results into a set of partitions.

Functionality used both on logical and physical plans

Execution plan for reading line-delimited JSON files

Defines the LIMIT plan

Math expressions

Execution plan for reading in-memory batches of data

Execution plan for reading Parquet files

Physical query planner

Defines the projection execution plan. A projection determines which columns or expressions are returned from a query. The SQL statement SELECT a, b, a+b FROM t1 is an example of a projection on table t1 where the expressions a, b, and a+b are the projection expressions. SELECT without FROM will only evaluate expressions.

Regex expressions

The repartition operator maps N input partitions to M output partitions based on a partitioning scheme.

Defines the SORT plan

Defines the sort preserving merge plan

Contains a Source enum represents where the data comes from.

String expressions

Type coercion rules for functions with multiple valid signatures

This module contains functions and structs supporting user-defined aggregate functions.

UDF support

Unicode expressions

The Union operator combines multiple inputs with the same schema

Window functions provide the ability to perform calculations across sets of rows that are related to the current query row.

Physical expressions for window functions

Structs

EmptyRecordBatchStream can be used to create a RecordBatchStream that will produce no results

SQL metric such as counter (number of input or output rows) or timing information about a physical operator.

Enums

Represents the result from an expression

Distribution schemes

SQL metric type

Partitioning schemes supported by operators.

Traits

An accumulator represents a stateful object that lives throughout the evaluation of multiple rows and generically accumulates values.

An aggregate expression that:

ExecutionPlan represent nodes in the DataFusion Physical Plan.

Trait that implements the Visitor pattern for a depth first walk of ExecutionPlan nodes. pre_visit is called before any children are visited, and then post_visit is called after all children have been visited. To use, define a struct that implements this trait and then invoke [‘accept’].

Expression that can be evaluated against a RecordBatch A Physical expression knows its type, nullability and how to evaluate itself.

Trait for types that stream arrow::record_batch::RecordBatch

A window expression that:

Functions

Visit all children of this plan, according to the order defined on ExecutionPlanVisitor.

Execute the ExecutionPlan and collect the results in memory

Execute the ExecutionPlan and collect the results in memory

Return a wrapper around an ExecutionPlan which can be displayed in various easier to understand ways.

Execute the ExecutionPlan and return a single stream of results

Execute the ExecutionPlan and return a vec with one stream per output partition

Recursively gateher all execution metrics from this plan and all of its input plans

Recursively calls pre_visit and post_visit for this node and all of its children, as described on ExecutionPlanVisitor

Type Definitions

Trait for a stream of record batches.