Skip to content

ReuseExchange Physical Optimization

ReuseExchange is a physical query optimization (aka physical query preparation rule or simply preparation rule) that QueryExecution uses to optimize the physical plan of a structured query.

Technically, ReuseExchange is just a catalyst/[Catalyst rule] for transforming[physical query plans], i.e. Rule[SparkPlan].

ReuseExchange is part of preparations batch of physical query plan rules and is executed when QueryExecution is requested for the optimized physical query plan (i.e. in executedPlan phase of a query execution).

=== [[apply]] apply Method

[source, scala]

apply(plan: SparkPlan): SparkPlan

NOTE: apply is part of catalyst/[Rule Contract] to apply a rule to a[physical plan].

apply finds all Exchange unary operators and...FIXME

apply does nothing and simply returns the input physical plan if internal configuration property is disabled.