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

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

public class JoinReorder
extends Object
implements Transform

Implementation of rule-based join table reordering optimization. User passes hints to specify which tables are to be streamed and they are moved to have largest tag so that they are processed last. In future, once statistics are implemented, this transformation can also be done based on costs.


Constructor Summary
JoinReorder()
           
 
Method Summary
 ParseContext transform(ParseContext pactx)
          Transform the query tree.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinReorder

public JoinReorder()
Method Detail

transform

public ParseContext transform(ParseContext pactx)
                       throws SemanticException
Transform the query tree. For each join, check which reduce sink will output the biggest result (based on STREAMTABLE hints) and give it the biggest tag so that it gets streamed.

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


Copyright © 2014 The Apache Software Foundation. All rights reserved.