org.apache.hadoop.hive.ql.ppd
Class OpProcFactory

java.lang.Object
  extended by org.apache.hadoop.hive.ql.ppd.OpProcFactory

public final class OpProcFactory
extends Object

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.JoinerPPD
          Determines predicates for which alias can be pushed to it's parents.
static class OpProcFactory.JoinPPD
           
static class OpProcFactory.LateralViewForwardPPD
           
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.
static class OpProcFactory.UDTFPPD
           
 
Method Summary
static NodeProcessor getDefaultProc()
           
static NodeProcessor getFilterProc()
           
static NodeProcessor getJoinProc()
           
static NodeProcessor getLIMProc()
           
static NodeProcessor getLVFProc()
           
static NodeProcessor getLVJProc()
           
static NodeProcessor getPTFProc()
           
static NodeProcessor getSCRProc()
           
static NodeProcessor getTSProc()
           
static NodeProcessor getUDTFProc()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getFilterProc

public static NodeProcessor getFilterProc()

getJoinProc

public static NodeProcessor getJoinProc()

getTSProc

public static NodeProcessor getTSProc()

getDefaultProc

public static NodeProcessor getDefaultProc()

getPTFProc

public static NodeProcessor getPTFProc()

getSCRProc

public static NodeProcessor getSCRProc()

getLIMProc

public static NodeProcessor getLIMProc()

getLVFProc

public static NodeProcessor getLVFProc()

getUDTFProc

public static NodeProcessor getUDTFProc()

getLVJProc

public static NodeProcessor getLVJProc()


Copyright © 2014 The Apache Software Foundation. All rights reserved.