Class UnionExchangePrel
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.drill.exec.planner.physical.SinglePrel
org.apache.drill.exec.planner.physical.ExchangePrel
org.apache.drill.exec.planner.physical.UnionExchangePrel
- All Implemented Interfaces:
Cloneable
,Iterable<Prel>
,org.apache.calcite.plan.RelOptNode
,org.apache.calcite.rel.RelNode
,DrillRelNode
,Prel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context
-
Field Summary
Fields inherited from class org.apache.calcite.rel.SingleRel
input
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
Fields inherited from interface org.apache.drill.exec.planner.physical.Prel
DRILL_PHYSICAL
-
Constructor Summary
ConstructorDescriptionUnionExchangePrel
(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.calcite.plan.RelOptCost
computeSelfCost
(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) A UnionExchange processes a total of M rows coming from N senders and combines them into a single output stream.org.apache.calcite.rel.RelNode
A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or NonegetPhysicalOperator
(PhysicalPlanCreator creator) Methods inherited from class org.apache.drill.exec.planner.physical.ExchangePrel
accept, constructMuxPrel
Methods inherited from class org.apache.drill.exec.planner.physical.SinglePrel
getSupportedEncodings, iterator, needsFinalColumnReordering
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, explainTerms, getInput, getInputs, replaceInput
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.apache.drill.exec.planner.physical.Prel
prepareForLateralUnnestPipeline
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Constructor Details
-
UnionExchangePrel
public UnionExchangePrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input)
-
-
Method Details
-
computeSelfCost
public org.apache.calcite.plan.RelOptCost computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) A UnionExchange processes a total of M rows coming from N senders and combines them into a single output stream. Note that there is no sort or merge operation going on. For costing purposes, we can assume each sender is sending M/N rows to a single receiver. (See DrillCostBase for symbol notations) C = CPU cost of SV remover for M/N rows + Network cost of sending M/N rows to 1 destination. So, C = (s * M/N) + (w * M/N) Total cost = N * C- Specified by:
computeSelfCost
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
computeSelfCost
in classorg.apache.calcite.rel.AbstractRelNode
-
copy
public org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs) - Specified by:
copy
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
copy
in classorg.apache.calcite.rel.AbstractRelNode
-
getPhysicalOperator
- Throws:
IOException
-
getEncoding
Description copied from interface:Prel
A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None
-