org.apache.pig.newplan.logical.relational
Class LogToPhyTranslationVisitor

java.lang.Object
  extended by org.apache.pig.newplan.PlanVisitor
      extended by org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor
          extended by org.apache.pig.newplan.logical.relational.LogToPhyTranslationVisitor

public class LogToPhyTranslationVisitor
extends LogicalRelationalNodesVisitor


Field Summary
protected  PhysicalPlan currentPlan
           
protected  Stack<PhysicalPlan> currentPlans
           
protected  Map<Operator,PhysicalOperator> logToPhyMap
           
protected  NodeIdGenerator nodeGen
           
protected  PigContext pc
           
 
Fields inherited from class org.apache.pig.newplan.PlanVisitor
currentWalker, DEFAULT_SCOPE, plan
 
Constructor Summary
LogToPhyTranslationVisitor(OperatorPlan plan)
           
 
Method Summary
 Map<Operator,PhysicalOperator> getLogToPhyMap()
           
 PhysicalPlan getPhysicalPlan()
           
 void setPigContext(PigContext pc)
           
static void updateWithEmptyBagCheck(PhysicalPlan fePlan, Operator joinInput)
          updates plan with check for empty bag and if bag is empty to flatten a bag with as many null's as dictated by the schema
 void visit(LOCogroup cg)
           
 void visit(LOCross cross)
           
 void visit(LODistinct loDistinct)
           
 void visit(LOFilter filter)
           
 void visit(LOForEach foreach)
           
 void visit(LOInnerLoad load)
           
 void visit(LOJoin loj)
           
 void visit(LOLimit loLimit)
           
 void visit(LOLoad loLoad)
           
 void visit(LONative loNative)
           
 void visit(LOSort sort)
           
 void visit(LOSplit loSplit)
           
 void visit(LOSplitOutput loSplitOutput)
           
 void visit(LOStore loStore)
           
 void visit(LOStream stream)
           
 void visit(LOUnion loUnion)
           
 
Methods inherited from class org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor
visit
 
Methods inherited from class org.apache.pig.newplan.PlanVisitor
getPlan, popWalker, pushWalker, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logToPhyMap

protected Map<Operator,PhysicalOperator> logToPhyMap

currentPlans

protected Stack<PhysicalPlan> currentPlans

currentPlan

protected PhysicalPlan currentPlan

nodeGen

protected NodeIdGenerator nodeGen

pc

protected PigContext pc
Constructor Detail

LogToPhyTranslationVisitor

public LogToPhyTranslationVisitor(OperatorPlan plan)
                           throws FrontendException
Throws:
FrontendException
Method Detail

setPigContext

public void setPigContext(PigContext pc)

getLogToPhyMap

public Map<Operator,PhysicalOperator> getLogToPhyMap()

getPhysicalPlan

public PhysicalPlan getPhysicalPlan()

visit

public void visit(LOLoad loLoad)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LONative loNative)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOFilter filter)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOSort sort)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOCross cross)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOStream stream)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOInnerLoad load)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOForEach foreach)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOStore loStore)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOCogroup cg)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOJoin loj)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOUnion loUnion)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LODistinct loDistinct)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOLimit loLimit)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOSplit loSplit)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

visit

public void visit(LOSplitOutput loSplitOutput)
           throws FrontendException
Overrides:
visit in class LogicalRelationalNodesVisitor
Throws:
FrontendException

updateWithEmptyBagCheck

public static void updateWithEmptyBagCheck(PhysicalPlan fePlan,
                                           Operator joinInput)
                                    throws FrontendException
updates plan with check for empty bag and if bag is empty to flatten a bag with as many null's as dictated by the schema

Parameters:
fePlan - the plan to update
joinInput - the relation for which the corresponding bag is being checked
Throws:
FrontendException


Copyright © ${year} The Apache Software Foundation