Modules§
- expressions
- Defines physical expressions that can evaluated at runtime during query execution
- hash_
utils - Functionality used both on logical and physical plans
Macros§
- internal_
err - Macro wraps Err(
$ERR) to add backtrace feature
Structs§
- Column
Statistics - Statistics for a column within a relation
- Default
Display - A new type wrapper to display
TimplementingDisplayAsusing theDefaultmode - Empty
Record Batch Stream EmptyRecordBatchStreamcan be used to create aRecordBatchStreamthat will produce no results- Metric
- Something that tracks a value of interest (metric) of a DataFusion
ExecutionPlanexecution. - Plan
Properties - Stores certain, often expensive to compute, plan properties used in query optimization.
- Statistics
- Statistics for a relation Fields are optional and can be inexact because the sources sometimes provide approximate estimates for performance reasons and the transformations output are not always predictable.
- Verbose
Display - A new type wrapper to display
TimplementingDisplayAsusing theVerbosemode
Enums§
- Boundedness
- Represents whether a stream of data generated by an operator is bounded (finite) or unbounded (infinite).
- Cardinality
Effect - Indicates the effect an execution plan operator will have on the cardinality of its input stream
- Columnar
Value - The result of evaluating an expression.
- Display
Format Type - Options for controlling how each
ExecutionPlanshould format itself - Distribution
- How data is distributed amongst partitions. See
Partitioningfor more details. - Emission
Type - Represents how an operator emits its output records.
- Evaluation
Type - Represents how an operator’s
Streamimplementation generatesRecordBatches. - Input
Order Mode - Specifies how the input to an aggregation or window operator is ordered
relative to their
GROUP BYorPARTITION BYexpressions. - Invariant
Level ExecutionPlanInvariant Level- Partitioning
- Output partitioning supported by
ExecutionPlans. - Scheduling
Type - Represents whether an operator’s
Streamhas been implemented to actively cooperate with the Tokio scheduler or not. Please refer to thecoopmodule for more details.
Traits§
- Accumulator
- Tracks an aggregate function’s state.
- Display
As - Trait for types which could have additional details when formatted in
Verbosemode - Execution
Plan - Represent nodes in the DataFusion Physical Plan.
- Execution
Plan Properties - Extension trait provides an easy API to fetch various properties of
ExecutionPlanobjects based onExecutionPlan::properties. - Physical
Expr PhysicalExprs represent expressions such asA + 1orCAST(c1 AS int).- Record
Batch Stream - Trait for types that stream RecordBatch
- Window
Expr - Common trait for window function implementations
Functions§
- check_
default_ invariants - Checks a set of invariants that apply to all ExecutionPlan implementations. Returns an error if the given node does not conform.
- check_
not_ null_ constraints - Checks a
RecordBatchfornot nullconstraints on specified columns. - collect
- Execute the ExecutionPlan and collect the results in memory
- collect_
partitioned - Execute the ExecutionPlan and collect the results in memory
- displayable
- Return a
DisplayableExecutionPlanwrapper around anExecutionPlanwhich can be displayed in various easier to understand ways. - execute_
input_ stream - Executes an input stream and ensures that the resulting stream adheres to
the
not nullconstraints specified in thesink_schema. - execute_
stream - Execute the ExecutionPlan and return a single stream of
RecordBatches. - execute_
stream_ partitioned - Execute the ExecutionPlan and return a vec with one stream per output partition
- get_
plan_ string - Utility function yielding a string representation of the given
ExecutionPlan. - need_
data_ exchange - Indicate whether a data exchange is needed for the input of
plan, which will be very helpful especially for the distributed engine to judge whether need to deal with shuffling. Currently, there are 3 kinds of execution plan which needs data exchange 1. RepartitionExec for changing the partition number between twoExecutionPlans 2. CoalescePartitionsExec for collapsing all of the partitions into one without ordering guarantee 3. SortPreservingMergeExec for collapsing all of the sorted partitions into one with ordering guarantee - project_
schema - Applies an optional projection to a
SchemaRef, returning the projected schema - with_
new_ children_ if_ necessary - Returns a copy of this plan if we change any child according to the pointer comparison.
The size of
childrenmust be equal to the size ofExecutionPlan::children().
Type Aliases§
- Sendable
Record Batch Stream - Trait for a [
Stream] ofRecordBatches that can be passed between threads