Class SwapHashJoinVisitor
java.lang.Object
org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor<Prel,Double,RuntimeException>
org.apache.drill.exec.planner.physical.visitor.SwapHashJoinVisitor
- All Implemented Interfaces:
PrelVisitor<Prel,
Double, RuntimeException>
Visit Prel tree. Find all the HashJoinPrel nodes and set the flag to swap the Left/Right for HashJoinPrel
when 1) It's inner join, 2) left rowcount is < (1 + percentage) * right_row_count.
The purpose of this visitor is to prevent planner from putting bigger dataset in the RIGHT side,
which is not good performance-wise.
- See Also:
-
Field Summary
Fields inherited from interface org.apache.drill.exec.planner.physical.visitor.PrelVisitor
logger
-
Method Summary
Methods inherited from class org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor
visitExchange, visitLateral, visitLeaf, visitProject, visitScan, visitScan, visitScreen, visitTableModify, visitUnnest, visitWriter
-
Method Details
-
swapHashJoin
-
visitPrel
- Specified by:
visitPrel
in interfacePrelVisitor<Prel,
Double, RuntimeException> - Overrides:
visitPrel
in classBasePrelVisitor<Prel,
Double, RuntimeException> - Throws:
RuntimeException
-
visitJoin
- Specified by:
visitJoin
in interfacePrelVisitor<Prel,
Double, RuntimeException> - Overrides:
visitJoin
in classBasePrelVisitor<Prel,
Double, RuntimeException> - Throws:
RuntimeException
-