Author: rohini
Date: Wed Dec 27 22:02:21 2017
New Revision: 1819369

URL: http://svn.apache.org/viewvc?rev=1819369&view=rev
Log:
PIG-5322: ConstantCalculator optimizer is not applied for split (rohini)

Modified:
    pig/trunk/CHANGES.txt
    
pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java
    pig/trunk/test/org/apache/pig/test/TestConstantCalculator.java
    pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6-OPTOFF.gld
    pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6.gld

Modified: pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1819369&r1=1819368&r2=1819369&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Dec 27 22:02:21 2017
@@ -26,6 +26,8 @@ PIG-5282: Upgade to Java 8 (satishsaley
  
 IMPROVEMENTS
 
+PIG-5322: ConstantCalculator optimizer is not applied for split (rohini)
+
 PIG-5316: Initialize mapred.task.id property for PoS jobs (nkollar via szita)
 
 PIG-5302: Remove HttpClient dependency (nkollar via szita)

Modified: 
pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java?rev=1819369&r1=1819368&r2=1819369&view=diff
==============================================================================
--- 
pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java
 (original)
+++ 
pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java
 Wed Dec 27 22:02:21 2017
@@ -22,10 +22,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import com.google.common.base.Preconditions;
-import com.google.common.collect.SetMultimap;
-import com.google.common.collect.TreeMultimap;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.pig.impl.PigContext;
@@ -45,11 +41,16 @@ import org.apache.pig.newplan.logical.ru
 import org.apache.pig.newplan.logical.rules.PredicatePushdownOptimizer;
 import org.apache.pig.newplan.logical.rules.PushDownForEachFlatten;
 import org.apache.pig.newplan.logical.rules.PushUpFilter;
+import org.apache.pig.newplan.logical.rules.SplitConstantCalculator;
 import org.apache.pig.newplan.logical.rules.SplitFilter;
 import org.apache.pig.newplan.logical.rules.StreamTypeCastInserter;
 import org.apache.pig.newplan.optimizer.PlanOptimizer;
 import org.apache.pig.newplan.optimizer.Rule;
 
+import com.google.common.base.Preconditions;
+import com.google.common.collect.SetMultimap;
+import com.google.common.collect.TreeMultimap;
+
 public class LogicalPlanOptimizer extends PlanOptimizer {
     private static final Log LOG = 
LogFactory.getLog(LogicalPlanOptimizer.class);
     private static enum RulesReportKey { RULES_ENABLED, RULES_DISABLED }
@@ -89,10 +90,13 @@ public class LogicalPlanOptimizer extend
         // Logical expression simplifier
         Set <Rule> s = new HashSet<Rule>();
         // add constant calculator rule
-        Rule r = new FilterConstantCalculator("ConstantCalculator", pc);
+        Rule r = new FilterConstantCalculator("FilterConstantCalculator", pc);
+        checkAndAddRule(s, r);
+        ls.add(s);
+        r = new ForEachConstantCalculator("ForEachConstantCalculator", pc);
         checkAndAddRule(s, r);
         ls.add(s);
-        r = new ForEachConstantCalculator("ConstantCalculator", pc);
+        r = new SplitConstantCalculator("SplitConstantCalculator", pc);
         checkAndAddRule(s, r);
         ls.add(s);
 

Modified: pig/trunk/test/org/apache/pig/test/TestConstantCalculator.java
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestConstantCalculator.java?rev=1819369&r1=1819368&r2=1819369&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestConstantCalculator.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestConstantCalculator.java Wed Dec 27 
22:02:21 2017
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertTru
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
 import java.util.Set;
@@ -33,13 +34,20 @@ import org.apache.pig.backend.hadoop.dat
 import org.apache.pig.data.SchemaTupleBackend;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.impl.PigContext;
+import org.apache.pig.impl.logicalLayer.FrontendException;
+import org.apache.pig.newplan.Operator;
 import org.apache.pig.newplan.OperatorPlan;
+import org.apache.pig.newplan.logical.expression.ConstantExpression;
+import org.apache.pig.newplan.logical.expression.NegativeExpression;
 import org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer;
+import org.apache.pig.newplan.logical.relational.LOSplitOutput;
 import org.apache.pig.newplan.logical.relational.LogicalPlan;
 import org.apache.pig.newplan.logical.rules.FilterConstantCalculator;
 import org.apache.pig.newplan.logical.rules.ForEachConstantCalculator;
+import org.apache.pig.newplan.logical.rules.SplitConstantCalculator;
 import org.apache.pig.newplan.optimizer.PlanOptimizer;
 import org.apache.pig.newplan.optimizer.Rule;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -54,6 +62,7 @@ public class TestConstantCalculator {
         
SchemaTupleBackend.initialize(ConfigurationUtil.toConfiguration(pc.getProperties(),
 true),
                 pc);
     }
+
     @Test
     public void test() throws Exception {
         // pure simple constant
@@ -105,6 +114,36 @@ public class TestConstantCalculator {
                 "store b into 'empty';");
     }
 
+    @Test
+    public void testSplit() throws Exception {
+        // calculation inside split
+        LogicalPlan plan = getOptimizedLogicalPlan("a = load 'd.txt' as 
(x:long);" +
+                "split a into b if x == -2L, c otherwise;" +
+                "store b into 'empty';" +
+                "store c into 'empty1';");
+
+        List<ConstantExpression> constantOps = new ArrayList<>();
+        Iterator<Operator> operators = plan.getOperators();
+        while (operators.hasNext()) {
+            Operator splitOp = operators.next();
+            if (splitOp instanceof LOSplitOutput) {
+                Iterator<Operator> splitOperators = 
((LOSplitOutput)splitOp).getFilterPlan().getOperators();
+                while (splitOperators.hasNext()) {
+                    Operator op = splitOperators.next();
+                    if (op instanceof ConstantExpression) {
+                        constantOps.add((ConstantExpression)op);
+                    } else if (op instanceof NegativeExpression) {
+                        Assert.fail("Found NegativeExpression which should 
have been optimized");
+                    }
+                }
+            }
+
+        }
+       Assert.assertEquals(2, constantOps.size());
+       Assert.assertEquals(new Long(-2L), constantOps.get(0).getValue());
+       Assert.assertEquals(new Long(-2L), constantOps.get(1).getValue());
+    }
+
     public static class NoCalc extends EvalFunc<String> {
         @Override
         public String exec(Tuple input) throws IOException {
@@ -124,17 +163,23 @@ public class TestConstantCalculator {
     }
 
     private void assertQuerySame(String origQuery, String optimizedQuery) 
throws Exception {
+        LogicalPlan newLogicalPlan = getOptimizedLogicalPlan(origQuery);
+
+        LogicalPlan expected = Util.buildLp(pigServer, optimizedQuery);
+
+        assertTrue(expected.isEqual(newLogicalPlan));
+
+    }
+
+    private LogicalPlan getOptimizedLogicalPlan(String origQuery)
+            throws Exception, IOException, FrontendException {
         LogicalPlan newLogicalPlan = Util.buildLp(pigServer, origQuery);
 
         
SchemaTupleBackend.initialize(ConfigurationUtil.toConfiguration(pc.getProperties(),
 true),
                 pc);
         PlanOptimizer optimizer = new MyPlanOptimizer(newLogicalPlan, 10);
         optimizer.optimize();
-
-        LogicalPlan expected = Util.buildLp(pigServer, optimizedQuery);
-
-        assertTrue(expected.isEqual(newLogicalPlan));
-
+        return newLogicalPlan;
     }
 
     public class MyPlanOptimizer extends LogicalPlanOptimizer {
@@ -143,6 +188,7 @@ public class TestConstantCalculator {
             super(p, iterations, null);
         }
 
+        @Override
         protected List<Set<Rule>> buildRuleSets() {
             List<Set<Rule>> ls = new ArrayList<Set<Rule>>();
 
@@ -154,6 +200,9 @@ public class TestConstantCalculator {
             r = new ForEachConstantCalculator("ForEachConstantCalculator", pc);
             s.add(r);
             ls.add(s);
+            r = new SplitConstantCalculator("SplitConstantCalculator", pc);
+            s.add(r);
+            ls.add(s);
 
             return ls;
         }

Modified: 
pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6-OPTOFF.gld
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6-OPTOFF.gld?rev=1819369&r1=1819368&r2=1819369&view=diff
==============================================================================
--- 
pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6-OPTOFF.gld 
(original)
+++ 
pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6-OPTOFF.gld 
Wed Dec 27 22:02:21 2017
@@ -4,122 +4,118 @@
 #--------------------------------------------------
 # TEZ DAG plan: pig-0_scope-0
 #--------------------------------------------------
-Tez vertex scope-48    ->      Tez vertex scope-50,Tez vertex scope-53,
-Tez vertex scope-53    ->      Tez vertex scope-56,Tez vertex scope-58,
-Tez vertex scope-50    ->      Tez vertex scope-52,
-Tez vertex scope-52    ->      Tez vertex scope-56,Tez vertex scope-58,
-Tez vertex scope-56
+Tez vertex scope-50    ->      Tez vertex scope-52,Tez vertex scope-55,
+Tez vertex scope-55    ->      Tez vertex scope-58,Tez vertex scope-60,
+Tez vertex scope-52    ->      Tez vertex scope-54,
+Tez vertex scope-54    ->      Tez vertex scope-58,Tez vertex scope-60,
 Tez vertex scope-58
+Tez vertex scope-60
 
-Tez vertex scope-48
+Tez vertex scope-50
 # Plan on vertex
-POValueOutputTez - scope-49    ->       [scope-50, scope-53]
+POValueOutputTez - scope-51    ->       [scope-52, scope-55]
 |
-|---a: New For Each(false,false)[bag] - scope-7
+|---a: New For Each(false,false)[bag] - scope-11
     |   |
-    |   Cast[int] - scope-2
+    |   Cast[int] - scope-6
     |   |
-    |   |---Project[bytearray][0] - scope-1
+    |   |---Project[bytearray][0] - scope-5
     |   |
-    |   Cast[int] - scope-5
+    |   Cast[int] - scope-9
     |   |
-    |   |---Project[bytearray][1] - scope-4
+    |   |---Project[bytearray][1] - scope-8
     |
-    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
-Tez vertex scope-53
+    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-4
+Tez vertex scope-55
 # Plan on vertex
-POValueOutputTez - scope-55    ->       [scope-56, scope-58]
+POValueOutputTez - scope-57    ->       [scope-58, scope-60]
 |
-|---POValueInputTez - scope-54 <-       scope-48
-Tez vertex scope-50
+|---POValueInputTez - scope-56 <-       scope-50
+Tez vertex scope-52
 # Plan on vertex
-b: Local Rearrange[tuple]{int}(false) - scope-72       ->       scope-52
+b: Local Rearrange[tuple]{int}(false) - scope-74       ->       scope-54
 |   |
-|   Project[int][0] - scope-74
+|   Project[int][0] - scope-76
 |
-|---c: New For Each(false,false)[bag] - scope-61
+|---c: New For Each(false,false)[bag] - scope-63
     |   |
-    |   Project[int][0] - scope-62
+    |   Project[int][0] - scope-64
     |   |
-    |   POUserFunc(org.apache.pig.builtin.COUNT$Initial)[tuple] - scope-63
+    |   POUserFunc(org.apache.pig.builtin.COUNT$Initial)[tuple] - scope-65
     |   |
-    |   |---Project[bag][1] - scope-64
+    |   |---Project[bag][1] - scope-66
     |
-    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-75
+    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-77
         |
-        |---POValueInputTez - scope-51 <-       scope-48
-Tez vertex scope-52
-# Combine plan on edge <scope-50>
-b: Local Rearrange[tuple]{int}(false) - scope-76       ->       scope-52
+        |---POValueInputTez - scope-53 <-       scope-50
+Tez vertex scope-54
+# Combine plan on edge <scope-52>
+b: Local Rearrange[tuple]{int}(false) - scope-78       ->       scope-54
 |   |
-|   Project[int][0] - scope-78
+|   Project[int][0] - scope-80
 |
-|---c: New For Each(false,false)[bag] - scope-65
+|---c: New For Each(false,false)[bag] - scope-67
     |   |
-    |   Project[int][0] - scope-66
+    |   Project[int][0] - scope-68
     |   |
-    |   POUserFunc(org.apache.pig.builtin.COUNT$Intermediate)[tuple] - scope-67
+    |   POUserFunc(org.apache.pig.builtin.COUNT$Intermediate)[tuple] - scope-69
     |   |
-    |   |---Project[bag][1] - scope-68
+    |   |---Project[bag][1] - scope-70
     |
-    |---b: Package(CombinerPackager)[tuple]{int} - scope-71
+    |---b: Package(CombinerPackager)[tuple]{int} - scope-73
 # Plan on vertex
-POValueOutputTez - scope-60    ->       [scope-56, scope-58]
+POValueOutputTez - scope-62    ->       [scope-58, scope-60]
 |
-|---c: New For Each(false,false)[bag] - scope-23
+|---c: New For Each(false,false)[bag] - scope-27
     |   |
-    |   Project[int][0] - scope-18
+    |   Project[int][0] - scope-22
     |   |
-    |   POUserFunc(org.apache.pig.builtin.COUNT$Final)[long] - scope-21
+    |   POUserFunc(org.apache.pig.builtin.COUNT$Final)[long] - scope-25
     |   |
-    |   |---Project[bag][1] - scope-69
+    |   |---Project[bag][1] - scope-71
     |
-    |---b: Package(CombinerPackager)[tuple]{int} - scope-15
-Tez vertex scope-56
+    |---b: Package(CombinerPackager)[tuple]{int} - scope-19
+Tez vertex scope-58
 # Plan on vertex
-d: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - scope-35
+d: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - scope-38
 |
-|---d: Filter[bag] - scope-25
+|---d: Filter[bag] - scope-29
     |   |
-    |   Less Than[boolean] - scope-34
+    |   Less Than[boolean] - scope-37
     |   |
-    |   |---Multiply[long] - scope-31
+    |   |---Multiply[long] - scope-34
     |   |   |
-    |   |   |---Cast[long] - scope-27
-    |   |   |   |
-    |   |   |   |---Constant(2) - scope-26
+    |   |   |---Constant(2) - scope-30
     |   |   |
-    |   |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-30
+    |   |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-33
     |   |       |
-    |   |       |---Constant(1) - scope-28
+    |   |       |---Constant(1) - scope-31
     |   |
-    |   |---Cast[long] - scope-33
+    |   |---Cast[long] - scope-36
     |       |
-    |       |---Project[int][1] - scope-32
+    |       |---Project[int][1] - scope-35
     |
-    |---POValueInputTez - scope-57     <-       scope-53
-Tez vertex scope-58
+    |---POValueInputTez - scope-59     <-       scope-55
+Tez vertex scope-60
 # Plan on vertex
-e: Store(file:///tmp/pigoutput2:org.apache.pig.builtin.PigStorage) - scope-47
+e: Store(file:///tmp/pigoutput2:org.apache.pig.builtin.PigStorage) - scope-49
 |
-|---e: Filter[bag] - scope-36
+|---e: Filter[bag] - scope-39
     |   |
-    |   Not[boolean] - scope-46
+    |   Not[boolean] - scope-48
     |   |
-    |   |---Less Than[boolean] - scope-45
+    |   |---Less Than[boolean] - scope-47
     |       |
-    |       |---Multiply[long] - scope-42
+    |       |---Multiply[long] - scope-44
     |       |   |
-    |       |   |---Cast[long] - scope-38
-    |       |   |   |
-    |       |   |   |---Constant(2) - scope-37
+    |       |   |---Constant(2) - scope-40
     |       |   |
-    |       |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-41
+    |       |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-43
     |       |       |
-    |       |       |---Constant(1) - scope-39
+    |       |       |---Constant(1) - scope-41
     |       |
-    |       |---Cast[long] - scope-44
+    |       |---Cast[long] - scope-46
     |           |
-    |           |---Project[int][1] - scope-43
+    |           |---Project[int][1] - scope-45
     |
-    |---POValueInputTez - scope-59     <-       scope-53
+    |---POValueInputTez - scope-61     <-       scope-55

Modified: pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6.gld
URL: 
http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6.gld?rev=1819369&r1=1819368&r2=1819369&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6.gld 
(original)
+++ pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-MQ-6.gld Wed 
Dec 27 22:02:21 2017
@@ -4,118 +4,114 @@
 #--------------------------------------------------
 # TEZ DAG plan: pig-0_scope-0
 #--------------------------------------------------
-Tez vertex scope-48    ->      Tez vertex scope-52,Tez vertex scope-53,
-Tez vertex scope-52    ->      Tez vertex scope-53,Tez vertex scope-58,
-Tez vertex scope-53    ->      Tez vertex scope-58,
-Tez vertex scope-58
+Tez vertex scope-50    ->      Tez vertex scope-54,Tez vertex scope-55,
+Tez vertex scope-54    ->      Tez vertex scope-55,Tez vertex scope-60,
+Tez vertex scope-55    ->      Tez vertex scope-60,
+Tez vertex scope-60
 
-Tez vertex scope-48
+Tez vertex scope-50
 # Plan on vertex
-a: Split - scope-80
+a: Split - scope-82
 |   |
-|   b: Local Rearrange[tuple]{int}(false) - scope-72   ->       scope-52
+|   b: Local Rearrange[tuple]{int}(false) - scope-74   ->       scope-54
 |   |   |
-|   |   Project[int][0] - scope-74
+|   |   Project[int][0] - scope-76
 |   |
-|   |---c: New For Each(false,false)[bag] - scope-61
+|   |---c: New For Each(false,false)[bag] - scope-63
 |       |   |
-|       |   Project[int][0] - scope-62
+|       |   Project[int][0] - scope-64
 |       |   |
-|       |   POUserFunc(org.apache.pig.builtin.COUNT$Initial)[tuple] - scope-63
+|       |   POUserFunc(org.apache.pig.builtin.COUNT$Initial)[tuple] - scope-65
 |       |   |
-|       |   |---Project[bag][1] - scope-64
+|       |   |---Project[bag][1] - scope-66
 |       |
-|       |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-75
+|       |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-77
 |   |
-|   POValueOutputTez - scope-49        ->       [scope-53]
+|   POValueOutputTez - scope-51        ->       [scope-55]
 |
-|---a: New For Each(false,false)[bag] - scope-7
+|---a: New For Each(false,false)[bag] - scope-11
     |   |
-    |   Cast[int] - scope-2
+    |   Cast[int] - scope-6
     |   |
-    |   |---Project[bytearray][0] - scope-1
+    |   |---Project[bytearray][0] - scope-5
     |   |
-    |   Cast[int] - scope-5
+    |   Cast[int] - scope-9
     |   |
-    |   |---Project[bytearray][1] - scope-4
+    |   |---Project[bytearray][1] - scope-8
     |
-    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
-Tez vertex scope-52
-# Combine plan on edge <scope-48>
-b: Local Rearrange[tuple]{int}(false) - scope-76       ->       scope-52
+    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-4
+Tez vertex scope-54
+# Combine plan on edge <scope-50>
+b: Local Rearrange[tuple]{int}(false) - scope-78       ->       scope-54
 |   |
-|   Project[int][0] - scope-78
+|   Project[int][0] - scope-80
 |
-|---c: New For Each(false,false)[bag] - scope-65
+|---c: New For Each(false,false)[bag] - scope-67
     |   |
-    |   Project[int][0] - scope-66
+    |   Project[int][0] - scope-68
     |   |
-    |   POUserFunc(org.apache.pig.builtin.COUNT$Intermediate)[tuple] - scope-67
+    |   POUserFunc(org.apache.pig.builtin.COUNT$Intermediate)[tuple] - scope-69
     |   |
-    |   |---Project[bag][1] - scope-68
+    |   |---Project[bag][1] - scope-70
     |
-    |---b: Package(CombinerPackager)[tuple]{int} - scope-71
+    |---b: Package(CombinerPackager)[tuple]{int} - scope-73
 # Plan on vertex
-POValueOutputTez - scope-60    ->       [scope-53, scope-58]
+POValueOutputTez - scope-62    ->       [scope-55, scope-60]
 |
-|---c: New For Each(false,false)[bag] - scope-23
+|---c: New For Each(false,false)[bag] - scope-27
     |   |
-    |   Project[int][0] - scope-18
+    |   Project[int][0] - scope-22
     |   |
-    |   POUserFunc(org.apache.pig.builtin.COUNT$Final)[long] - scope-21
+    |   POUserFunc(org.apache.pig.builtin.COUNT$Final)[long] - scope-25
     |   |
-    |   |---Project[bag][1] - scope-69
+    |   |---Project[bag][1] - scope-71
     |
-    |---b: Package(CombinerPackager)[tuple]{int} - scope-15
-Tez vertex scope-53
+    |---b: Package(CombinerPackager)[tuple]{int} - scope-19
+Tez vertex scope-55
 # Plan on vertex
-1-1: Split - scope-79
+1-1: Split - scope-81
 |   |
-|   d: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - 
scope-35
+|   d: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - 
scope-38
 |   |
-|   |---d: Filter[bag] - scope-25
+|   |---d: Filter[bag] - scope-29
 |       |   |
-|       |   Less Than[boolean] - scope-34
+|       |   Less Than[boolean] - scope-37
 |       |   |
-|       |   |---Multiply[long] - scope-31
+|       |   |---Multiply[long] - scope-34
 |       |   |   |
-|       |   |   |---Cast[long] - scope-27
-|       |   |   |   |
-|       |   |   |   |---Constant(2) - scope-26
+|       |   |   |---Constant(2) - scope-30
 |       |   |   |
-|       |   |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-30
+|       |   |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-33
 |       |   |       |
-|       |   |       |---Constant(1) - scope-28
+|       |   |       |---Constant(1) - scope-31
 |       |   |
-|       |   |---Cast[long] - scope-33
+|       |   |---Cast[long] - scope-36
 |       |       |
-|       |       |---Project[int][1] - scope-32
+|       |       |---Project[int][1] - scope-35
 |   |
-|   POValueOutputTez - scope-55        ->       [scope-58]
+|   POValueOutputTez - scope-57        ->       [scope-60]
 |
-|---POValueInputTez - scope-54 <-       scope-48
-Tez vertex scope-58
+|---POValueInputTez - scope-56 <-       scope-50
+Tez vertex scope-60
 # Plan on vertex
-e: Store(file:///tmp/pigoutput2:org.apache.pig.builtin.PigStorage) - scope-47
+e: Store(file:///tmp/pigoutput2:org.apache.pig.builtin.PigStorage) - scope-49
 |
-|---e: Filter[bag] - scope-36
+|---e: Filter[bag] - scope-39
     |   |
-    |   Not[boolean] - scope-46
+    |   Not[boolean] - scope-48
     |   |
-    |   |---Less Than[boolean] - scope-45
+    |   |---Less Than[boolean] - scope-47
     |       |
-    |       |---Multiply[long] - scope-42
+    |       |---Multiply[long] - scope-44
     |       |   |
-    |       |   |---Cast[long] - scope-38
-    |       |   |   |
-    |       |   |   |---Constant(2) - scope-37
+    |       |   |---Constant(2) - scope-40
     |       |   |
-    |       |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-41
+    |       |   
|---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[long]
 - scope-43
     |       |       |
-    |       |       |---Constant(1) - scope-39
+    |       |       |---Constant(1) - scope-41
     |       |
-    |       |---Cast[long] - scope-44
+    |       |---Cast[long] - scope-46
     |           |
-    |           |---Project[int][1] - scope-43
+    |           |---Project[int][1] - scope-45
     |
-    |---POValueInputTez - scope-59     <-       scope-53
+    |---POValueInputTez - scope-61     <-       scope-55


Reply via email to