You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ro...@apache.org on 2016/01/13 00:21:32 UTC

svn commit: r1724339 [2/2] - in /pig/trunk: ./ src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/ src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ src/org/apache/pig/backend/hadoop/executionengine/physi...

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffleTezLoad.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffleTezLoad.java?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffleTezLoad.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffleTezLoad.java Tue Jan 12 23:21:32 2016
@@ -170,7 +170,7 @@ public class POShuffleTezLoad extends PO
                 if (Boolean.valueOf(conf.get(JobControlCompiler.END_OF_INP_IN_MAP, "false"))) {
                     this.parentPlan.endOfAllInput = true;
                 }
-                return new Result(POStatus.STATUS_EOP, null);
+                return RESULT_EOP;
             }
 
             key = pkgr.getKey(min);

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffledValueInputTez.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffledValueInputTez.java?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffledValueInputTez.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POShuffledValueInputTez.java Tue Jan 12 23:21:32 2016
@@ -38,7 +38,6 @@ import org.apache.pig.backend.hadoop.exe
 import org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor;
 import org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.data.TupleFactory;
 import org.apache.pig.impl.plan.OperatorKey;
 import org.apache.pig.impl.plan.VisitorException;
 import org.apache.tez.runtime.api.LogicalInput;
@@ -57,7 +56,6 @@ public class POShuffledValueInputTez ext
     private transient boolean finished = false;
     private transient Iterator<KeyValueReader> readers;
     private transient KeyValueReader currentReader;
-    protected static final TupleFactory mTupleFactory = TupleFactory.getInstance();
     private transient Configuration conf;
 
     public POShuffledValueInputTez(OperatorKey k) {

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueInputTez.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueInputTez.java?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueInputTez.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueInputTez.java Tue Jan 12 23:21:32 2016
@@ -33,7 +33,6 @@ import org.apache.pig.backend.hadoop.exe
 import org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor;
 import org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.data.TupleFactory;
 import org.apache.pig.impl.plan.OperatorKey;
 import org.apache.pig.impl.plan.VisitorException;
 import org.apache.tez.runtime.api.LogicalInput;
@@ -58,7 +57,6 @@ public class POValueInputTez extends Phy
     private transient KeyValuesReader shuffleReader;
     private transient boolean shuffleInput;
     private transient boolean hasNext;
-    protected static final TupleFactory mTupleFactory = TupleFactory.getInstance();
 
     public POValueInputTez(OperatorKey k) {
         super(k);

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueOutputTez.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueOutputTez.java?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueOutputTez.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POValueOutputTez.java Tue Jan 12 23:21:32 2016
@@ -39,7 +39,6 @@ import org.apache.pig.backend.hadoop.exe
 import org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput;
 import org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.data.TupleFactory;
 import org.apache.pig.impl.plan.OperatorKey;
 import org.apache.pig.impl.plan.VisitorException;
 import org.apache.tez.runtime.api.LogicalOutput;
@@ -51,8 +50,6 @@ public class POValueOutputTez extends Ph
     private static final long serialVersionUID = 1L;
     private static final Log LOG = LogFactory.getLog(POValueOutputTez.class);
 
-    private static final TupleFactory tupleFactory = TupleFactory.getInstance();
-
     private boolean scalarOutput;
     private transient Object scalarValue;
     private boolean taskIndexWithRecordIndexAsKey;
@@ -171,7 +168,7 @@ public class POValueOutputTez extends Ph
                 }
             }
             if (taskIndexWithRecordIndexAsKey) {
-                Tuple tuple = tupleFactory.newTuple(2);
+                Tuple tuple = mTupleFactory.newTuple(2);
                 tuple.set(0, taskIndex);
                 tuple.set(1, count++);
                 key = tuple;

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/optimizer/UnionOptimizer.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/optimizer/UnionOptimizer.java?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/optimizer/UnionOptimizer.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/optimizer/UnionOptimizer.java Tue Jan 12 23:21:32 2016
@@ -110,6 +110,12 @@ public class UnionOptimizer extends TezO
         if((tezOp.isLimit() || tezOp.isLimitAfterSort()) && tezOp.getRequestedParallelism() == 1) {
             return false;
         }
+        // Two vertices separately ranking with 1 to n and writing to output directly
+        // will make each rank repeate twice which is wrong. Rank always needs to be
+        // done from single vertex to have the counting correct.
+        if (tezOp.isRankCounter()) {
+            return false;
+        }
         if (supportedStoreFuncs != null || unsupportedStoreFuncs != null) {
             List<POStoreTez> stores = PlanHelper.getPhysicalOperators(tezOp.plan, POStoreTez.class);
             for (POStoreTez store : stores) {

Modified: pig/trunk/test/e2e/pig/tests/multiquery.conf
URL: http://svn.apache.org/viewvc/pig/trunk/test/e2e/pig/tests/multiquery.conf?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/test/e2e/pig/tests/multiquery.conf (original)
+++ pig/trunk/test/e2e/pig/tests/multiquery.conf Tue Jan 12 23:21:32 2016
@@ -574,70 +574,24 @@ $cfg = {
         'name' => 'MultiQuery_Union',
         'tests' => [
             { 
-            # Multiple levels of union + join
+            # Union + Groupby + Combiner
             'num' => 1,
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa:float);
-b = load ':INPATH:/singlefile/studentcolon10k' using PigStorage(':') as (name, age, gpa:float);
-c = filter a by gpa >= 4;
-c1 = foreach c generate *;
-c2 = foreach c generate *;
-c3 = union c1, c2;
-d = filter a by gpa < 4;
-d1 = foreach d generate *;
-d2 = foreach d generate *;
-d3 = union d1, d2;
-a1 = union c3, d3;
-e = join a1 by name, b by name;
-store e into ':OUTPATH:';\,
-            },
-            {
-            # Union + Replicate Join left
-            'num' => 2,
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
-a1 = filter a by gpa >= 3.9;
-a2 = filter a by gpa < 2;
-c = union a1, a2;
-d = load ':INPATH:/singlefile/votertab10k' as (name, age, registration, contributions);
-e = join c by name, d by name using 'replicated';
-store e into ':OUTPATH:';\,
-            },
-            {
-            # Union + Replicate Join right
-            'num' => 3,
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
-a1 = filter a by gpa >= 3.9;
-a2 = filter a by gpa < 2;
-c = union a1, a2;
-d = load ':INPATH:/singlefile/votertab10k' as (name, age, registration, contributions);
-e = join d by name, c by name using 'replicated';
-store e into ':OUTPATH:';\,
-            },
-            {
-            # Union + Skewed Join left
-            'num' => 4,
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
-a1 = filter a by gpa >= 3.9;
-a2 = filter a by gpa < 2;
-c = union a1, a2;
-d = load ':INPATH:/singlefile/votertab10k' as (name, age, registration, contributions);
-e = join c by name, d by name using 'skewed' PARALLEL 3;
-store e into ':OUTPATH:';\,
-            },
-            {
-            # Union + Skewed Join right
-            'num' => 5,
+            'floatpostprocess' => 1,
+            'java_params' => ['-Dpig.exec.mapPartAgg=false'], 
+            'delimiter' => '    ',
             'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
 a1 = filter a by gpa >= 3.9;
 a2 = filter a by gpa < 2;
 c = union a1, a2;
-d = load ':INPATH:/singlefile/votertab10k' as (name, age, registration, contributions);
-e = join d by name, c by name using 'skewed' PARALLEL 3;
+d = group c by name;
+e = foreach d generate group, SUM(c.age);
 store e into ':OUTPATH:';\,
             },
             { 
-            # Union + Groupby + Combiner
-            'num' => 6,
+            # Union + Groupby + Combiner + POPartialAgg
+            'num' => 2,
             'floatpostprocess' => 1,
+            'java_params' => ['-Dpig.exec.mapPartAgg=true'], 
             'delimiter' => '    ',
             'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
 a1 = filter a by gpa >= 3.9;
@@ -648,33 +602,72 @@ e = foreach d generate group, SUM(c.age)
 store e into ':OUTPATH:';\,
             },
             {
-            # Union + Groupby + Secondary key partitioner
-            'num' => 7,
-            'floatpostprocess' => 1,
-            'delimiter' => '    ',
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
-a1 = filter a by gpa >= 3.9;
+            # Union + Replicate Join left outer + Stream + Group by + Secondary Key Partitioner
+            'num' => 3,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age:int, gpa:float);
+a1 = filter a by gpa is null or gpa >= 3.9;
 a2 = filter a by gpa < 2;
-c = union a1, a2;
-d = group c by name;
-e = foreach d { f = order c by $1,$2; generate group, f; };
-store e into ':OUTPATH:';\,
+b = union a1, a2;
+c = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+d = join b by name left outer, c by name using 'replicated';
+e = stream d through `cat` as (name, age, gpa, name1, age1, registration, contributions);
+f = foreach e generate name, age, gpa, registration, contributions;
+g = group f by name;
+g1 = group f by name; -- Two separate groupbys to ensure secondary key partitioner
+h = foreach g { 
+    inner1 = order f by age, gpa, registration, contributions;
+    inner2 = limit inner1 1;
+    generate inner2, SUM(f.age); };
+i = foreach g1 {
+    inner1 = order f by age asc, gpa desc, registration asc, contributions desc;
+    inner2 = limit inner1 1;
+    generate inner2, SUM(f.age); };
+store h into ':OUTPATH:.1';
+store i into ':OUTPATH:.2';\,
             },
             {
-            # Union + Orderby
-            'num' => 8,
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
-a1 = filter a by gpa >= 3.9;
+            # Union + Replicate Join inner + Order by
+            'num' => 4,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age:int, gpa:float);
+a1 = filter a by gpa is null or gpa >= 3.9;
+a2 = filter a by gpa < 1;
+b = union a1, a2;
+b1 = filter b by age < 30;
+b2 = foreach b generate name, age, FLOOR(gpa) as gpa;
+c = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+d = join b2 by name, c by name using 'replicated';
+e = foreach d generate b2::name as name, b2::age as age, gpa, registration, contributions;
+f = order e by name, age DESC;
+store f into ':OUTPATH:';\,
+            'sortArgs' => ['-t', '	', '-k', '1,1', '-k', '2,2nr'],
+            },
+            {
+            # Union + Replicate Join right input
+            'num' => 5,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa);
+a1 = filter a by gpa is null or gpa <= 3.9;
 a2 = filter a by gpa < 2;
-c = union a1, a2;
-d = order c by name PARALLEL 3;
+b = union a1, a2;
+c = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+d = join c by name, b by name using 'replicated';
 store d into ':OUTPATH:';\,
-            'sortArgs' => ['-t', '	', '-k', '1,1'],
             },
             {
-            # Multiple Split + Union + Join
-            'num' => 9,
-            'pig' => q\a = load ':INPATH:/singlefile/studenttab10k' as (name, age, gpa);
+            # Union + Left outer Join
+            'num' => 6,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa:float);
+a1 = filter a by gpa is null or gpa >= 3.9;
+a2 = filter a by gpa < 1;
+b = union a1, a2;
+c = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+d = join b by name left outer, c by name;
+e = foreach d generate b::name as name, b::age as age, gpa, registration, contributions;
+store e into ':OUTPATH:';\,
+            },
+            {
+            # Multiple levels of union + Skewed join Right outer
+            'num' => 7,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa:float);
 b = filter a by gpa >= 3.9;
 b1 = foreach b generate *;
 b2 = foreach b generate *;
@@ -685,10 +678,56 @@ c2 = foreach c generate *;
 c3 = union onschema c1, c2;
 a1 = union onschema b3, c3;
 store a1 into ':OUTPATH:.1';
-d = load ':INPATH:/singlefile/votertab10k' as (name, age, registration, contributions);
-e = join a1 by name, d by name using 'skewed' PARALLEL 3;
+d = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+e = join a1 by name right outer, d by name using 'skewed' PARALLEL 3;
 store e into ':OUTPATH:.2';\,
             },
+            {
+            # Union + Skewed Join right input
+            'num' => 8,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa);
+a1 = filter a by gpa >= 3.9;
+a2 = filter a by gpa < 2;
+b = union a1, a2;
+c = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+d = join c by name, b by name using 'skewed' PARALLEL 3;
+store d into ':OUTPATH:';\,
+            },
+            {
+            # Union + CROSS
+            'num' => 9,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa:float);
+a1 = filter a by gpa == 0.00;
+a2 = filter a by gpa == 4.00;
+b = union a1, a2;
+c = load ':INPATH:/singlefile/voternulltab10k' as (name, age, registration, contributions);
+d = CROSS b, c;
+store d into ':OUTPATH:';\,
+            },
+            {
+            # Union + Rank
+            'num' => 10,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa:float);
+a1 = filter a by gpa is null or gpa >= 3.9;
+a2 = filter a by gpa < 1;
+b = union a1, a2;
+c = rank b;  
+-- Ordering is not guaranteed with union and ranking will differ. So just test rank and column separately
+d = foreach c generate $0;
+e = foreach c generate $1, $2, $3;
+store d into ':OUTPATH:.1';
+store e into ':OUTPATH:.2';\,
+            },
+            {
+            # Union + Rank dense
+            'num' => 11,
+            'pig' => q\a = load ':INPATH:/singlefile/studentnulltab10k' as (name, age, gpa:float);
+a1 = filter a by gpa is null or gpa >= 3.9;
+a2 = filter a by gpa < 1;
+b = union a1, a2;
+c = rank b by name ASC, age DESC DENSE;  
+store c into ':OUTPATH:';\,
+            },
             ] # end of tests
         },
         

Modified: pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-13.gld
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-13.gld?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-13.gld (original)
+++ pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-13.gld Tue Jan 12 23:21:32 2016
@@ -28,21 +28,21 @@ Tez vertex scope-35
 # Plan on vertex
 a: Split - scope-46
 |   |
-|   e: Store(file:///tmp/output:org.apache.pig.builtin.PigStorage) - scope-48	->	 scope-34
+|   e: Store(file:///tmp/output:org.apache.pig.builtin.PigStorage) - scope-55	->	 scope-34
 |   |
 |   |---e: FRJoin[tuple] - scope-47	<-	 scope-45
 |       |   |
-|       |   Project[int][0] - scope-26
+|       |   Project[int][0] - scope-48
 |       |   |
-|       |   Project[int][0] - scope-27
+|       |   Project[int][0] - scope-49
 |   |
-|   e: Store(file:///tmp/output:org.apache.pig.builtin.PigStorage) - scope-50	->	 scope-34
+|   e: Store(file:///tmp/output:org.apache.pig.builtin.PigStorage) - scope-64	->	 scope-34
 |   |
-|   |---e: FRJoin[tuple] - scope-49	<-	 scope-45
+|   |---e: FRJoin[tuple] - scope-56	<-	 scope-45
 |       |   |
-|       |   Project[int][0] - scope-26
+|       |   Project[int][0] - scope-57
 |       |   |
-|       |   Project[int][0] - scope-27
+|       |   Project[int][0] - scope-58
 |       |
 |       |---b: Filter[bag] - scope-13
 |           |   |

Modified: pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2-OPTOFF.gld
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2-OPTOFF.gld?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2-OPTOFF.gld (original)
+++ pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2-OPTOFF.gld Tue Jan 12 23:21:32 2016
@@ -4,84 +4,84 @@
 #--------------------------------------------------
 # TEZ DAG plan: pig-0_scope-1
 #--------------------------------------------------
-Tez vertex scope-101	->	Tez vertex scope-103,
-Tez vertex scope-102	->	Tez vertex scope-103,
-Tez vertex scope-103	->	Tez vertex scope-107,
-Tez vertex scope-107
+Tez vertex scope-103	->	Tez vertex scope-105,
+Tez vertex scope-104	->	Tez vertex scope-105,
+Tez vertex scope-105	->	Tez vertex scope-109,
+Tez vertex scope-109
 
-Tez vertex scope-101
+Tez vertex scope-103
 # Plan on vertex
-POValueOutputTez - scope-105	->	 [scope-103]
+POValueOutputTez - scope-107	->	 [scope-105]
 |
-|---a: New For Each(false,false)[bag] - scope-79
+|---a: New For Each(false,false)[bag] - scope-81
     |   |
-    |   Cast[int] - scope-74
+    |   Cast[int] - scope-76
     |   |
-    |   |---Project[bytearray][0] - scope-73
+    |   |---Project[bytearray][0] - scope-75
     |   |
-    |   Cast[int] - scope-77
+    |   Cast[int] - scope-79
     |   |
-    |   |---Project[bytearray][1] - scope-76
+    |   |---Project[bytearray][1] - scope-78
     |
-    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-72
-Tez vertex scope-102
+    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-74
+Tez vertex scope-104
 # Plan on vertex
-POValueOutputTez - scope-106	->	 [scope-103]
+POValueOutputTez - scope-108	->	 [scope-105]
 |
-|---c: New For Each(false,false)[bag] - scope-87
+|---c: New For Each(false,false)[bag] - scope-89
     |   |
-    |   Cast[int] - scope-82
+    |   Cast[int] - scope-84
     |   |
-    |   |---Project[bytearray][1] - scope-81
+    |   |---Project[bytearray][1] - scope-83
     |   |
-    |   Cast[int] - scope-85
+    |   Cast[int] - scope-87
     |   |
-    |   |---Project[bytearray][0] - scope-84
+    |   |---Project[bytearray][0] - scope-86
     |
-    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-80
-Tez vertex scope-103
+    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-82
+Tez vertex scope-105
 # Plan on vertex
-d: Local Rearrange[tuple]{int}(false) - scope-120	->	 scope-107
+d: Local Rearrange[tuple]{int}(false) - scope-122	->	 scope-109
 |   |
-|   Project[int][0] - scope-122
+|   Project[int][0] - scope-124
 |
-|---e: New For Each(false,false)[bag] - scope-108
+|---e: New For Each(false,false)[bag] - scope-110
     |   |
-    |   Project[int][0] - scope-109
+    |   Project[int][0] - scope-111
     |   |
-    |   POUserFunc(org.apache.pig.builtin.AlgebraicMathBase$Initial)[tuple] - scope-110
+    |   POUserFunc(org.apache.pig.builtin.AlgebraicMathBase$Initial)[tuple] - scope-112
     |   |
-    |   |---Project[bag][1] - scope-111
+    |   |---Project[bag][1] - scope-113
     |       |
-    |       |---Project[bag][1] - scope-112
+    |       |---Project[bag][1] - scope-114
     |
-    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-123
+    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-125
         |
-        |---POShuffledValueInputTez - scope-104	<-	 [scope-101, scope-102]
-Tez vertex scope-107
-# Combine plan on edge <scope-103>
-d: Local Rearrange[tuple]{int}(false) - scope-124	->	 scope-107
+        |---POShuffledValueInputTez - scope-106	<-	 [scope-103, scope-104]
+Tez vertex scope-109
+# Combine plan on edge <scope-105>
+d: Local Rearrange[tuple]{int}(false) - scope-126	->	 scope-109
 |   |
-|   Project[int][0] - scope-126
+|   Project[int][0] - scope-128
 |
-|---e: New For Each(false,false)[bag] - scope-113
+|---e: New For Each(false,false)[bag] - scope-115
     |   |
-    |   Project[int][0] - scope-114
+    |   Project[int][0] - scope-116
     |   |
-    |   POUserFunc(org.apache.pig.builtin.LongSum$Intermediate)[tuple] - scope-115
+    |   POUserFunc(org.apache.pig.builtin.LongSum$Intermediate)[tuple] - scope-117
     |   |
-    |   |---Project[bag][1] - scope-116
+    |   |---Project[bag][1] - scope-118
     |
-    |---d: Package(CombinerPackager)[tuple]{int} - scope-119
+    |---d: Package(CombinerPackager)[tuple]{int} - scope-121
 # Plan on vertex
-e: Store(file:///tmp/output:org.apache.pig.builtin.PigStorage) - scope-100
+e: Store(file:///tmp/output:org.apache.pig.builtin.PigStorage) - scope-102
 |
-|---e: New For Each(false,false)[bag] - scope-99
+|---e: New For Each(false,false)[bag] - scope-101
     |   |
-    |   Project[int][0] - scope-93
+    |   Project[int][0] - scope-95
     |   |
-    |   POUserFunc(org.apache.pig.builtin.LongSum$Final)[long] - scope-97
+    |   POUserFunc(org.apache.pig.builtin.LongSum$Final)[long] - scope-99
     |   |
-    |   |---Project[bag][1] - scope-117
+    |   |---Project[bag][1] - scope-119
     |
-    |---d: Package(CombinerPackager)[tuple]{int} - scope-90
+    |---d: Package(CombinerPackager)[tuple]{int} - scope-92

Modified: pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2.gld
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2.gld?rev=1724339&r1=1724338&r2=1724339&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2.gld (original)
+++ pig/trunk/test/org/apache/pig/test/data/GoldenFiles/tez/TEZC-Union-2.gld Tue Jan 12 23:21:32 2016
@@ -40,21 +40,21 @@ d: Local Rearrange[tuple]{int}(false) -
             |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
 Tez vertex scope-30
 # Plan on vertex
-d: Local Rearrange[tuple]{int}(false) - scope-69	->	 scope-35
+d: Local Rearrange[tuple]{int}(false) - scope-70	->	 scope-35
 |   |
-|   Project[int][0] - scope-70
+|   Project[int][0] - scope-71
 |
-|---e: New For Each(false,false)[bag] - scope-68
+|---e: New For Each(false,false)[bag] - scope-69
     |   |
-    |   Project[int][0] - scope-64
+    |   Project[int][0] - scope-65
     |   |
-    |   POUserFunc(org.apache.pig.builtin.AlgebraicMathBase$Initial)[tuple] - scope-65
+    |   POUserFunc(org.apache.pig.builtin.AlgebraicMathBase$Initial)[tuple] - scope-66
     |   |
-    |   |---Project[bag][1] - scope-66
+    |   |---Project[bag][1] - scope-67
     |       |
-    |       |---Project[bag][1] - scope-67
+    |       |---Project[bag][1] - scope-68
     |
-    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-71
+    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-72
         |
         |---c: New For Each(false,false)[bag] - scope-15
             |   |