Class PushDownForEachFlatten

  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


public PushDownForEachFlatten(String name)
Method Detail


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

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


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
Transformer to use with this rule

Copyright © 2007-2012 The Apache Software Foundation