org.apache.hadoop.hive.ql.optimizer
Class MapJoinProcessor

java.lang.Object
  extended by org.apache.hadoop.hive.ql.optimizer.MapJoinProcessor
All Implemented Interfaces:
Transform

public class MapJoinProcessor
extends Object
implements Transform

Implementation of one of the rule-based map join optimization. User passes hints to specify map-joins and during this optimization, all user specified map joins are converted to MapJoins - the reduce sink operator above the join are converted to map sink operators. In future, once statistics are implemented, this transformation can also be done based on costs.


Nested Class Summary
static class MapJoinProcessor.CurrentMapJoin
          CurrentMapJoin.
static class MapJoinProcessor.Default
          Default.
static class MapJoinProcessor.MapJoinDefault
          MapJoinDefault.
static class MapJoinProcessor.MapJoinFS
          MapJoinFS.
static class MapJoinProcessor.MapJoinWalkerCtx
          MapJoinWalkerCtx.
 
Constructor Summary
MapJoinProcessor()
          empty constructor.
 
Method Summary
static void checkMapJoin(int mapJoinPos, JoinCondDesc[] condns)
           
static NodeProcessor getCurrentMapJoin()
           
static NodeProcessor getDefault()
           
static NodeProcessor getMapJoinDefault()
           
static NodeProcessor getMapJoinFS()
           
 ParseContext transform(ParseContext pactx)
          Transform the query tree.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapJoinProcessor

public MapJoinProcessor()
empty constructor.

Method Detail

checkMapJoin

public static void checkMapJoin(int mapJoinPos,
                                JoinCondDesc[] condns)
                         throws SemanticException
Throws:
SemanticException

transform

public ParseContext transform(ParseContext pactx)
                       throws SemanticException
Transform the query tree. For each join, check if it is a map-side join (user specified). If yes, convert it to a map-side join.

Specified by:
transform in interface Transform
Parameters:
pactx - current parse context
Returns:
ParseContext
Throws:
SemanticException

getMapJoinFS

public static NodeProcessor getMapJoinFS()

getMapJoinDefault

public static NodeProcessor getMapJoinDefault()

getDefault

public static NodeProcessor getDefault()

getCurrentMapJoin

public static NodeProcessor getCurrentMapJoin()


Copyright © 2010 The Apache Software Foundation