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


Constructor Summary
CorrelationOptimizer()
           
 
Method Summary
 ParseContext transform(ParseContext pctx)
          Detect correlations and transform the query tree.
 
Methods inherited from class java.lang.Object
equals, 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 © 2014 The Apache Software Foundation. All rights reserved.