org.apache.hadoop.hive.ql.optimizer.correlation
Class CorrelationOptimizer

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

public class CorrelationOptimizer
extends Object
implements Transform

Implementation of Correlation Optimizer. This optimizer is based on the paper "YSmart: Yet Another SQL-to-MapReduce Translator" (Rubao Lee, Tian Luo, Yin Huai, Fusheng Wang, Yongqiang He, and Xiaodong Zhang) (http://www.cse.ohio-state.edu/hpcs/WWW/HTML/publications/papers/TR-11-7.pdf). Correlation Optimizer detects if ReduceSinkOperators share same keys. Then, it will transform the query plan tree (operator tree) by exploiting detected correlations. For details, see the original paper of YSmart. Test queries associated with this optimizer are correlationoptimizer1.q to correlationoptimizer14.q


Nested Class Summary
protected  class CorrelationOptimizer.CorrelationNodeProcCtx
           
 
Constructor Summary
CorrelationOptimizer()
           
 
Method Summary
 ParseContext transform(ParseContext pctx)
          Detect correlations and transform the query tree.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CorrelationOptimizer

public CorrelationOptimizer()
Method Detail

transform

public ParseContext transform(ParseContext pctx)
                       throws SemanticException
Detect correlations and transform the query tree.

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


Copyright © 2012 The Apache Software Foundation