org.apache.pig.newplan.logical.rules
Class PushDownForEachFlatten

java.lang.Object
  extended by org.apache.pig.newplan.optimizer.Rule
      extended by org.apache.pig.newplan.logical.rules.PushDownForEachFlatten

public class PushDownForEachFlatten
extends Rule

It's generally a good idea to do flattens as late as possible as they tend to generate more rows (and so more I/O). This optimization swaps the order of SORTs, CROSSes and JOINs that come after FOREACH..GENERATE..FLATTENs. FILTERs are re-ordered by the FilterAboveForeach rule so are ignored here.


Field Summary
 
Fields inherited from class org.apache.pig.newplan.optimizer.Rule
currentPlan, log, name, pattern
 
Constructor Summary
PushDownForEachFlatten(String name)
           
 
Method Summary
protected  OperatorPlan buildPattern()
          Build the pattern that this rule will look for
 Transformer getNewTransformer()
          Get the transformer for this rule.
 
Methods inherited from class org.apache.pig.newplan.optimizer.Rule
getName, getPattern, isMandatory, isSkipListener, match, setSkipListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PushDownForEachFlatten

public PushDownForEachFlatten(String name)
Method Detail

buildPattern

protected OperatorPlan buildPattern()
Description copied from class: Rule
Build the pattern that this rule will look for

Specified by:
buildPattern in class Rule
Returns:
the pattern to look for by this rule

getNewTransformer

public Transformer getNewTransformer()
Description copied from class: Rule
Get the transformer for this rule. Abstract because the rule may want to choose how to instantiate the transformer. This should never return a cached transformer, it should always return a fresh one with no state.

Specified by:
getNewTransformer in class Rule
Returns:
Transformer to use with this rule


Copyright © 2007-2012 The Apache Software Foundation