You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2014/02/17 09:31:28 UTC
svn commit: r1568903 - in
/pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez:
TezCompiler.java TezDagBuilder.java
Author: daijy
Date: Mon Feb 17 08:31:27 2014
New Revision: 1568903
URL: http://svn.apache.org/r1568903
Log:
PIG-3758: Fix desc order by in Tez
Modified:
pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezCompiler.java
pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezDagBuilder.java
Modified: pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezCompiler.java
URL: http://svn.apache.org/viewvc/pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezCompiler.java?rev=1568903&r1=1568902&r2=1568903&view=diff
==============================================================================
--- pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezCompiler.java (original)
+++ pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezCompiler.java Mon Feb 17 08:31:27 2014
@@ -1712,9 +1712,21 @@ public class TezCompiler extends PhyPlan
tezPlan.add(oper1);
opers[0] = oper1;
+ POIdentityInOutTez identityInOutTez = new POIdentityInOutTez(
+ OperatorKey.genOpKey(scope),
+ inputOperRearrange);
+ identityInOutTez.setInputKey(inputOper.getOperatorKey().toString());
+ oper1.plan.addAsLeaf(identityInOutTez);
+ oper1.setClosed(true);
+
+ TezOperator oper2 = getTezOp();
+ oper2.setGlobalSort(true);
+ opers[1] = oper2;
+ tezPlan.add(oper2);
+
long limit = sort.getLimit();
//TODO: TezOperator limit not used at all
- oper1.limit = limit;
+ oper2.limit = limit;
boolean[] sortOrder;
@@ -1724,20 +1736,9 @@ public class TezCompiler extends PhyPlan
for(int i = 0; i < sortOrderList.size(); ++i) {
sortOrder[i] = sortOrderList.get(i);
}
- oper1.setSortOrder(sortOrder);
+ oper2.setSortOrder(sortOrder);
}
-
- POIdentityInOutTez identityInOutTez = new POIdentityInOutTez(
- OperatorKey.genOpKey(scope),
- inputOperRearrange);
- identityInOutTez.setInputKey(inputOper.getOperatorKey().toString());
- oper1.plan.addAsLeaf(identityInOutTez);
- oper1.setClosed(true);
-
- TezOperator oper2 = getTezOp();
- oper2.setGlobalSort(true);
- opers[1] = oper2;
- tezPlan.add(oper2);
+
identityInOutTez.setOutputKey(oper2.getOperatorKey().toString());
if (limit!=-1) {
Modified: pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezDagBuilder.java
URL: http://svn.apache.org/viewvc/pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezDagBuilder.java?rev=1568903&r1=1568902&r2=1568903&view=diff
==============================================================================
--- pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezDagBuilder.java (original)
+++ pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/TezDagBuilder.java Mon Feb 17 08:31:27 2014
@@ -223,11 +223,9 @@ public class TezDagBuilder extends TezOp
conf.setBoolean("mapred.mapper.new-api", true);
conf.set("pig.pigContext", ObjectSerializer.serialize(pc));
- if(from.isGlobalSort() || from.isLimitAfterSort()){
- if (from.isGlobalSort()) {
- conf.set("pig.sortOrder",
- ObjectSerializer.serialize(from.getSortOrder()));
- }
+ if(to.isGlobalSort() || to.isLimitAfterSort()){
+ conf.set("pig.sortOrder",
+ ObjectSerializer.serialize(to.getSortOrder()));
}
if (edge.isUseSecondaryKey()) {