diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SetSparkReducerParallelism.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SetSparkReducerParallelism.java index dcfbc6b..2b15d94 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SetSparkReducerParallelism.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SetSparkReducerParallelism.java @@ -75,7 +75,7 @@ public Object process(Node nd, Stack stack, context.getVisitedReduceSinks().add(sink); - if (desc.getNumReducers() <= 0) { + if (desc.getNumReducers() <= 0 || (desc.hasOrderBy() && desc.getNumReducers() == 1)) { if (constantReducers > 0) { LOG.info("Parallelism for reduce sink " + sink + " set by user to " + constantReducers); desc.setNumReducers(constantReducers);