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

java.lang.Object
  extended by org.apache.hadoop.hive.ql.optimizer.AbstractBucketJoinProc
All Implemented Interfaces:
NodeProcessor
Direct Known Subclasses:
AbstractSMBJoinProc, BucketMapjoinProc

public abstract class AbstractBucketJoinProc
extends Object
implements NodeProcessor

this transformation does bucket map join optimization.


Field Summary
protected  ParseContext pGraphContext
           
 
Constructor Summary
AbstractBucketJoinProc()
           
AbstractBucketJoinProc(ParseContext pGraphContext)
           
 
Method Summary
protected  boolean canConvertMapJoinToBucketMapJoin(MapJoinOperator mapJoinOp, ParseContext pGraphContext, BucketJoinProcCtx context)
           
protected  boolean checkConvertBucketMapJoin(ParseContext pGraphContext, BucketJoinProcCtx context, QBJoinTree joinCtx, Map<Byte,List<ExprNodeDesc>> keysMap, String baseBigAlias, List<String> joinAliases)
           
protected  void convertMapJoinToBucketMapJoin(MapJoinOperator mapJoinOp, BucketJoinProcCtx context)
           
abstract  Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs)
          Generic process for all ops that don't have specific implementations.
 List<String> toColumns(List<ExprNodeDesc> keys)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pGraphContext

protected ParseContext pGraphContext
Constructor Detail

AbstractBucketJoinProc

public AbstractBucketJoinProc(ParseContext pGraphContext)

AbstractBucketJoinProc

public AbstractBucketJoinProc()
Method Detail

process

public abstract Object process(Node nd,
                               Stack<Node> stack,
                               NodeProcessorCtx procCtx,
                               Object... nodeOutputs)
                        throws SemanticException
Description copied from interface: NodeProcessor
Generic process for all ops that don't have specific implementations.

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

canConvertMapJoinToBucketMapJoin

protected boolean canConvertMapJoinToBucketMapJoin(MapJoinOperator mapJoinOp,
                                                   ParseContext pGraphContext,
                                                   BucketJoinProcCtx context)
                                            throws SemanticException
Throws:
SemanticException

checkConvertBucketMapJoin

protected boolean checkConvertBucketMapJoin(ParseContext pGraphContext,
                                            BucketJoinProcCtx context,
                                            QBJoinTree joinCtx,
                                            Map<Byte,List<ExprNodeDesc>> keysMap,
                                            String baseBigAlias,
                                            List<String> joinAliases)
                                     throws SemanticException
Throws:
SemanticException

convertMapJoinToBucketMapJoin

protected void convertMapJoinToBucketMapJoin(MapJoinOperator mapJoinOp,
                                             BucketJoinProcCtx context)
                                      throws SemanticException
Throws:
SemanticException

toColumns

public List<String> toColumns(List<ExprNodeDesc> keys)


Copyright © 2012 The Apache Software Foundation