|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hive.ql.ppd.OpProcFactory
public final class OpProcFactory
Operator factory for predicate pushdown processing of operator graph Each operator determines the pushdown predicates by walking the expression tree. Each operator merges its own pushdown predicates with those of its children Finally the TableScan operator gathers all the predicates and inserts a filter operator after itself. TODO: Further optimizations 1) Multi-insert case 2) Create a filter operator for those predicates that couldn't be pushed to the previous operators in the data flow 3) Merge multiple sequential filter predicates into so that plans are more readable 4) Remove predicates from filter operators that have been pushed. Currently these pushed predicates are evaluated twice.
Nested Class Summary | |
---|---|
static class |
OpProcFactory.DefaultPPD
Default processor which just merges its children. |
static class |
OpProcFactory.FilterPPD
Determines the push down predicates in its where expression and then combines it with the push down predicates that are passed from its children. |
static class |
OpProcFactory.JoinPPD
Determines predicates for which alias can be pushed to it's parents. |
static class |
OpProcFactory.LateralViewForwardPPD
|
static class |
OpProcFactory.ReduceSinkPPD
Processor for ReduceSink operator. |
static class |
OpProcFactory.ScriptPPD
Processor for Script Operator Prevents any predicates being pushed. |
static class |
OpProcFactory.TableScanPPD
Combines predicates of its child into a single expression and adds a filter op as new child. |
Method Summary | |
---|---|
protected static Object |
createFilter(Operator op,
ExprWalkerInfo pushDownPreds,
OpWalkerInfo owi)
|
static NodeProcessor |
getDefaultProc()
|
static NodeProcessor |
getFilterProc()
|
static NodeProcessor |
getJoinProc()
|
static NodeProcessor |
getLIMProc()
|
static NodeProcessor |
getLVFProc()
|
static NodeProcessor |
getRSProc()
|
static NodeProcessor |
getSCRProc()
|
static NodeProcessor |
getTSProc()
|
static NodeProcessor |
getUDTFProc()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
protected static Object createFilter(Operator op, ExprWalkerInfo pushDownPreds, OpWalkerInfo owi)
public static NodeProcessor getFilterProc()
public static NodeProcessor getJoinProc()
public static NodeProcessor getRSProc()
public static NodeProcessor getTSProc()
public static NodeProcessor getDefaultProc()
public static NodeProcessor getSCRProc()
public static NodeProcessor getLIMProc()
public static NodeProcessor getUDTFProc()
public static NodeProcessor getLVFProc()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |