org.apache.hadoop.hive.ql.optimizer
Class MapJoinFactory.MapJoin

java.lang.Object
  extended by org.apache.hadoop.hive.ql.optimizer.MapJoinFactory.MapJoin
All Implemented Interfaces:
NodeProcessor
Enclosing class:
MapJoinFactory

public static class MapJoinFactory.MapJoin
extends Object
implements NodeProcessor

MapJoin followed by Select


Constructor Summary
MapJoinFactory.MapJoin()
           
 
Method Summary
 Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs)
          Create a task by splitting the plan below the join.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapJoinFactory.MapJoin

public MapJoinFactory.MapJoin()
Method Detail

process

public Object process(Node nd,
                      Stack<Node> stack,
                      NodeProcessorCtx procCtx,
                      Object... nodeOutputs)
               throws SemanticException
Create a task by splitting the plan below the join. The reason, we have to do so in the processing of Select and not MapJoin is due to the walker. While processing a node, it is not safe to alter its children because that will decide the course of the walk. It is perfectly fine to muck around with its parents though, since those nodes have already been visited.

Specified by:
process in interface NodeProcessor
Parameters:
nd - operator to process
procCtx - operator processor context
nodeOutputs - A variable argument list of outputs from other nodes in the walk
Returns:
Object to be returned by the process call
Throws:
SemanticException


Copyright © 2009 The Apache Software Foundation