You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2014/11/11 07:33:13 UTC

svn commit: r1638033 [1/6] - in /hive/branches/spark: itests/src/test/resources/ ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/ ql/src/java/org/apache/hadoop/hive/ql/parse/spark/ ql/s...

Author: xuefu
Date: Tue Nov 11 06:33:03 2014
New Revision: 1638033

URL: http://svn.apache.org/r1638033
Log:
HIVE-8542: Enable groupby_map_ppr.q and groupby_map_ppr_multi_distinct.q [Spark Branch] (Rui via Xuefu)

Added:
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_map_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_map_ppr_multi_distinct.q.out
Modified:
    hive/branches/spark/itests/src/test/resources/testconfiguration.properties
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkReduceSinkMapJoinProc.java
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkUtils.java
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkWork.java
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/SparkEdgeProperty.java
    hive/branches/spark/ql/src/test/results/clientpositive/spark/annotate_stats_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join0.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join11.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join12.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join13.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join15.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join16.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join17.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18_multi_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join19.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join20.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join21.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join22.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join23.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join24.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join26.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join27.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join28.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join29.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join30.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join31.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join32.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join7.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join_reordering_values.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join_without_localtask.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_smb_mapjoin_14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_sortmerge_join_10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_sortmerge_join_11.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_sortmerge_join_12.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_sortmerge_join_6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_sortmerge_join_9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket_map_join_1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket_map_join_2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucket_map_join_tez2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin11.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin12.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin13.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin7.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/column_access_stats.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/count.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/cross_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ctas.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/disable_merge_for_bucketing.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/escape_clusterby1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/escape_orderby1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/escape_sortby1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby11.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby3_map.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby3_map_multi_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby3_map_skew.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby3_noskew.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby3_noskew_multi_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby7_map_multi_single_reducer.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby7_map_skew.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby7_noskew_multi_single_reducer.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby8_map.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby8_map_skew.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby8_noskew.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_cube1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_multi_insert_common_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_multi_single_reducer.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_multi_single_reducer2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_multi_single_reducer3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_position.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_rollup1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_sort_1_23.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/groupby_sort_skew_1_23.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/index_auto_self_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/innerjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/input14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/input17.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/input18.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/insert_into3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join0.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join11.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join12.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join13.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join15.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join16.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join17.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join18.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join18_multi_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join19.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join20.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join21.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join22.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join23.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join25.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join26.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join27.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join28.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join29.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join30.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join31.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join32.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join33.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join34.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join35.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join36.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join37.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join38.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join39.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join40.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join41.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join7.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_alt_syntax.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_unqual1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_unqual2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_unqual3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_cond_pushdown_unqual4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_filters_overlap.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_hive_626.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_map_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merge_multi_expressions.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merging.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_nullsafe.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_rc.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_reorder.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_reorder2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_reorder3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_reorder4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_star.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_thrift.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_vc.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/join_view.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/limit_pushdown.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/load_dyn_part2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/louter_join_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_filter_on_outerjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_mapjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_memcheck.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_subquery.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_subquery2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapjoin_test_outer.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mapreduce1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mergejoins.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/mergejoins_mixed.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert_gby.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert_gby2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert_gby3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert_lateral_view.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert_mixed.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_insert_move_tasks_share_dependencies.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multi_join_union.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/multigroupby_singlemr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/optimize_nullscan.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/order.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/order2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/outer_join_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/parallel.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/parallel_join0.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/parallel_join1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/parquet_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/pcr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_gby_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_join_filter.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_multi_insert.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_outer_join1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_outer_join2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_outer_join3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_outer_join4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_outer_join5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/ppd_transform.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/reduce_deduplicate_exclude_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/router_join_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sample10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sample6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sample8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/semijoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoin_noskew.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoin_union_remove_1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoin_union_remove_2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt11.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt12.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt13.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt15.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt16.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt17.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt18.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt19.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt20.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt7.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/skewjoinopt9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin9.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_13.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_15.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_16.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_17.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_20.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_21.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_7.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_4.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_6.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_7.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/sort_merge_join_desc_8.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/stats10.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/subquery_exists.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/subquery_in.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/subquery_multiinsert.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/temp_table.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/temp_table_join1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/tez_join_tests.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/tez_joins_explain.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/transform_ppr1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/transform_ppr2.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/union23.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/union3.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/union33.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/union_ppr.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_cast_constant.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_count_distinct.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_data_types.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_left_outer_join.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vector_orderby_5.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorization_14.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorization_15.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorization_part_project.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorized_bucketmapjoin1.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorized_nested_mapjoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorized_shufflejoin.q.out
    hive/branches/spark/ql/src/test/results/clientpositive/spark/vectorized_timestamp_funcs.q.out

Modified: hive/branches/spark/itests/src/test/resources/testconfiguration.properties
URL: http://svn.apache.org/viewvc/hive/branches/spark/itests/src/test/resources/testconfiguration.properties?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/itests/src/test/resources/testconfiguration.properties (original)
+++ hive/branches/spark/itests/src/test/resources/testconfiguration.properties Tue Nov 11 06:33:03 2014
@@ -575,6 +575,8 @@ spark.query.files=add_part_multiple.q, \
   groupby_complex_types.q, \
   groupby_complex_types_multi_single_reducer.q, \
   groupby_cube1.q, \
+  groupby_map_ppr.q, \
+  groupby_map_ppr_multi_distinct.q, \
   groupby_multi_insert_common_distinct.q, \
   groupby_multi_single_reducer.q, \
   groupby_multi_single_reducer2.q, \

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java Tue Nov 11 06:33:03 2014
@@ -489,6 +489,7 @@ public class ReduceSinkDeDuplication imp
       if (pRS != null && merge(cRS, pRS, dedupCtx.minReducer())) {
         CorrelationUtilities.replaceReduceSinkWithSelectOperator(
             cRS, dedupCtx.getPctx(), dedupCtx);
+        pRS.getConf().setEnforceSort(true);
         return true;
       }
       return false;
@@ -511,6 +512,7 @@ public class ReduceSinkDeDuplication imp
       if (pRS != null && merge(cRS, pRS, dedupCtx.minReducer())) {
         CorrelationUtilities.removeReduceSinkForGroupBy(
             cRS, cGBY, dedupCtx.getPctx(), dedupCtx);
+        pRS.getConf().setEnforceSort(true);
         return true;
       }
       return false;
@@ -529,6 +531,12 @@ public class ReduceSinkDeDuplication imp
         pJoin.getConf().setFixedAsSorted(true);
         CorrelationUtilities.replaceReduceSinkWithSelectOperator(
             cRS, dedupCtx.getPctx(), dedupCtx);
+        ReduceSinkOperator pRS =
+            CorrelationUtilities.findPossibleParent(
+                pJoin, ReduceSinkOperator.class, dedupCtx.trustScript());
+        if (pRS != null) {
+          pRS.getConf().setEnforceSort(true);
+        }
         return true;
       }
       return false;
@@ -547,6 +555,12 @@ public class ReduceSinkDeDuplication imp
         pJoin.getConf().setFixedAsSorted(true);
         CorrelationUtilities.removeReduceSinkForGroupBy(
             cRS, cGBY, dedupCtx.getPctx(), dedupCtx);
+        ReduceSinkOperator pRS =
+            CorrelationUtilities.findPossibleParent(
+                pJoin, ReduceSinkOperator.class, dedupCtx.trustScript());
+        if (pRS != null) {
+          pRS.getConf().setEnforceSort(true);
+        }
         return true;
       }
       return false;
@@ -565,6 +579,7 @@ public class ReduceSinkDeDuplication imp
       if (pRS != null && merge(cRS, pRS, dedupCtx.minReducer())) {
         CorrelationUtilities.replaceReduceSinkWithSelectOperator(
             cRS, dedupCtx.getPctx(), dedupCtx);
+        pRS.getConf().setEnforceSort(true);
         return true;
       }
       return false;
@@ -581,6 +596,7 @@ public class ReduceSinkDeDuplication imp
               start, ReduceSinkOperator.class, dedupCtx.trustScript());
       if (pRS != null && merge(cRS, pRS, dedupCtx.minReducer())) {
         CorrelationUtilities.removeReduceSinkForGroupBy(cRS, cGBY, dedupCtx.getPctx(), dedupCtx);
+        pRS.getConf().setEnforceSort(true);
         return true;
       }
       return false;

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkReduceSinkMapJoinProc.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkReduceSinkMapJoinProc.java?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkReduceSinkMapJoinProc.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkReduceSinkMapJoinProc.java Tue Nov 11 06:33:03 2014
@@ -136,7 +136,7 @@ public class SparkReduceSinkMapJoinProc 
         edgeType = EdgeType.CUSTOM_SIMPLE_EDGE;
       }
     }*/
-    SparkEdgeProperty edgeProp = new SparkEdgeProperty(0/*null, edgeType, numBuckets*/);
+    SparkEdgeProperty edgeProp = new SparkEdgeProperty(SparkEdgeProperty.SHUFFLE_NONE);
 
     if (mapJoinWork != null) {
       for (BaseWork myWork: mapJoinWork) {

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkUtils.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkUtils.java?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkUtils.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkUtils.java Tue Nov 11 06:33:03 2014
@@ -41,6 +41,7 @@ import org.apache.hadoop.hive.ql.parse.P
 import org.apache.hadoop.hive.ql.parse.PrunedPartitionList;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
 import org.apache.hadoop.hive.ql.plan.BaseWork;
+import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
 import org.apache.hadoop.hive.ql.plan.MapWork;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
 import org.apache.hadoop.hive.ql.plan.ReduceWork;
@@ -117,28 +118,7 @@ public class GenSparkUtils {
 
     sparkWork.add(reduceWork);
 
-    // Use group-by as the default shuffler
-    SparkEdgeProperty edgeProp = new SparkEdgeProperty(SparkEdgeProperty.SHUFFLE_GROUP,
-        reduceWork.getNumReduceTasks());
-
-    String sortOrder = Strings.nullToEmpty(reduceSink.getConf().getOrder()).trim();
-    if (!sortOrder.isEmpty() && isSortNecessary(reduceSink)) {
-      edgeProp.setShuffleSort();
-    }
-
-    if (reduceWork.getReducer() instanceof JoinOperator) {
-      //reduce-side join, use MR-style shuffle
-      edgeProp.setMRShuffle();
-    }
-
-    //If its a FileSink to bucketed files, also use MR-style shuffle to get compatible taskId for bucket-name
-    FileSinkOperator fso = getChildOperator(reduceWork.getReducer(), FileSinkOperator.class);
-    if (fso != null) {
-      String bucketCount = fso.getConf().getTableInfo().getProperties().getProperty(hive_metastoreConstants.BUCKET_COUNT);
-      if (bucketCount != null && Integer.valueOf(bucketCount) > 1) {
-        edgeProp.setMRShuffle();
-      }
-    }
+    SparkEdgeProperty edgeProp = getEdgeProperty(reduceSink, reduceWork);
 
     sparkWork.connect(
         context.preceedingWork,
@@ -315,20 +295,79 @@ public class GenSparkUtils {
     }
   }
 
+  public static SparkEdgeProperty getEdgeProperty(ReduceSinkOperator reduceSink,
+      ReduceWork reduceWork) throws SemanticException {
+    SparkEdgeProperty edgeProperty = new SparkEdgeProperty(SparkEdgeProperty.SHUFFLE_NONE);
+    edgeProperty.setNumPartitions(reduceWork.getNumReduceTasks());
+    String sortOrder = Strings.nullToEmpty(reduceSink.getConf().getOrder()).trim();
+
+    // test if we need group-by shuffle
+    if (reduceSink.getChildOperators().size() == 1 &&
+        reduceSink.getChildOperators().get(0) instanceof GroupByOperator) {
+      edgeProperty.setShuffleGroup();
+      // test if the group by needs partition level sort, if so, use the MR style shuffle
+      // SHUFFLE_SORT shouldn't be used for this purpose, see HIVE-8542
+      if (!sortOrder.isEmpty() && groupByNeedParLevelOrder(reduceSink)) {
+        edgeProperty.setMRShuffle();
+      }
+    }
+
+    if (reduceWork.getReducer() instanceof JoinOperator) {
+      //reduce-side join, use MR-style shuffle
+      edgeProperty.setMRShuffle();
+    }
+
+    //If its a FileSink to bucketed files, also use MR-style shuffle to
+    // get compatible taskId for bucket-name
+    FileSinkOperator fso = getChildOperator(reduceWork.getReducer(), FileSinkOperator.class);
+    if (fso != null) {
+      String bucketCount = fso.getConf().getTableInfo().getProperties().getProperty(
+          hive_metastoreConstants.BUCKET_COUNT);
+      if (bucketCount != null && Integer.valueOf(bucketCount) > 1) {
+        edgeProperty.setMRShuffle();
+      }
+    }
+
+    // test if we need total order, if so, we can either use MR shuffle + set #reducer to 1,
+    // or we can use SHUFFLE_SORT
+    if (edgeProperty.isShuffleNone() && !sortOrder.isEmpty()) {
+      if (reduceSink.getConf().getPartitionCols() == null ||
+          reduceSink.getConf().getPartitionCols().isEmpty() ||
+          isSame(reduceSink.getConf().getPartitionCols(),
+              reduceSink.getConf().getKeyCols())) {
+        edgeProperty.setShuffleSort();
+      } else {
+        edgeProperty.setMRShuffle();
+      }
+    }
+
+    // set to groupby-shuffle if it's still NONE
+    // simple distribute-by goes here
+    if (edgeProperty.isShuffleNone()) {
+      edgeProperty.setShuffleGroup();
+    }
+
+    return edgeProperty;
+  }
+
   /**
-   * Test if the sort order in the RS is necessary.
-   * Unnecessary sort is mainly introduced when GBY is created. Therefore, if the sorting
+   * Test if we need partition level order for group by query.
+   * GBY needs partition level order when distinct is present. Therefore, if the sorting
    * keys, partitioning keys and grouping keys are the same, we ignore the sort and use
    * GroupByShuffler to shuffle the data. In this case a group-by transformation should be
    * sufficient to produce the correct results, i.e. data is properly grouped by the keys
    * but keys are not guaranteed to be sorted.
    */
-  public static boolean isSortNecessary(ReduceSinkOperator reduceSinkOperator) {
+  private static boolean groupByNeedParLevelOrder(ReduceSinkOperator reduceSinkOperator) {
+    // whether we have to enforce sort anyway, e.g. in case of RS deduplication
+    if (reduceSinkOperator.getConf().isEnforceSort()) {
+      return true;
+    }
     List<Operator<? extends OperatorDesc>> children = reduceSinkOperator.getChildOperators();
     if (children != null && children.size() == 1 &&
         children.get(0) instanceof GroupByOperator) {
       GroupByOperator child = (GroupByOperator) children.get(0);
-      if (reduceSinkOperator.getConf().getKeyCols().equals(
+      if (isSame(reduceSinkOperator.getConf().getKeyCols(),
           reduceSinkOperator.getConf().getPartitionCols()) &&
           reduceSinkOperator.getConf().getKeyCols().size() == child.getConf().getKeys().size()) {
         return false;
@@ -337,6 +376,27 @@ public class GenSparkUtils {
     return true;
   }
 
+  /**
+   * Test if two lists of ExprNodeDesc are semantically same
+   */
+  private static boolean isSame(List<ExprNodeDesc> list1, List<ExprNodeDesc> list2) {
+    if (list1 != list2) {
+      if (list1 != null && list2 != null) {
+        if (list1.size() != list2.size()) {
+          return false;
+        }
+        for (int i = 0; i < list1.size(); i++) {
+          if (!list1.get(i).isSame(list2.get(i))) {
+            return false;
+          }
+        }
+      } else {
+        return false;
+      }
+    }
+    return true;
+  }
+
   public static <T> T getChildOperator(Operator<?> op, Class<T> klazz) throws SemanticException {
     if (klazz.isInstance(op)) {
       return (T) op;

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkWork.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkWork.java?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkWork.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkWork.java Tue Nov 11 06:33:03 2014
@@ -19,15 +19,11 @@
 package org.apache.hadoop.hive.ql.parse.spark;
 
 import com.google.common.base.Preconditions;
-import com.google.common.base.Strings;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.metastore.api.hive_metastoreConstants;
 import org.apache.hadoop.hive.ql.exec.DummyStoreOperator;
-import org.apache.hadoop.hive.ql.exec.FileSinkOperator;
 import org.apache.hadoop.hive.ql.exec.HashTableDummyOperator;
-import org.apache.hadoop.hive.ql.exec.JoinOperator;
 import org.apache.hadoop.hive.ql.exec.MapJoinOperator;
 import org.apache.hadoop.hive.ql.exec.Operator;
 import org.apache.hadoop.hive.ql.exec.OperatorFactory;
@@ -311,25 +307,7 @@ public class GenSparkWork implements Nod
 
       if (!context.connectedReduceSinks.contains(rs)) {
         // add dependency between the two work items
-        // Use group-by as the default shuffler
-        SparkEdgeProperty edgeProp = new SparkEdgeProperty(SparkEdgeProperty.SHUFFLE_GROUP,
-            rs.getConf().getNumReducers());
-        String sortOrder = Strings.nullToEmpty(rs.getConf().getOrder()).trim();
-        if (!sortOrder.isEmpty() && GenSparkUtils.isSortNecessary(rs)) {
-          edgeProp.setShuffleSort();
-        }
-        if (rWork.getReducer() instanceof JoinOperator) {
-          //reduce-side join, use MR-style shuffle
-          edgeProp.setMRShuffle();
-        }
-        //If its a FileSink to bucketed files, also use MR-style shuffle to get compatible taskId for bucket-name
-        FileSinkOperator fso = GenSparkUtils.getChildOperator(rWork.getReducer(), FileSinkOperator.class);
-        if (fso != null) {
-          String bucketCount = fso.getConf().getTableInfo().getProperties().getProperty(hive_metastoreConstants.BUCKET_COUNT);
-          if (bucketCount != null && Integer.valueOf(bucketCount) > 1) {
-            edgeProp.setMRShuffle();
-          }
-        }
+        SparkEdgeProperty edgeProp = GenSparkUtils.getEdgeProperty(rs, rWork);
         sparkWork.connect(work, rWork, edgeProp);
         context.connectedReduceSinks.add(rs);
       }

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java Tue Nov 11 06:33:03 2014
@@ -111,6 +111,9 @@ public class ReduceSinkDesc extends Abst
   // Write type, since this needs to calculate buckets differently for updates and deletes
   private AcidUtils.Operation writeType;
 
+  // whether we'll enforce the sort order of the RS
+  private transient boolean enforceSort = false;
+
   private static transient Log LOG = LogFactory.getLog(ReduceSinkDesc.class);
   public ReduceSinkDesc() {
   }
@@ -165,6 +168,7 @@ public class ReduceSinkDesc extends Abst
     desc.setStatistics(this.getStatistics());
     desc.setSkipTag(skipTag);
     desc.reduceTraits = reduceTraits.clone();
+    desc.setEnforceSort(enforceSort);
     return desc;
   }
 
@@ -407,4 +411,12 @@ public class ReduceSinkDesc extends Abst
   public AcidUtils.Operation getWriteType() {
     return writeType;
   }
+
+  public boolean isEnforceSort() {
+    return enforceSort;
+  }
+
+  public void setEnforceSort(boolean isDeduplicated) {
+    this.enforceSort = isDeduplicated;
+  }
 }

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/SparkEdgeProperty.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/SparkEdgeProperty.java?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/SparkEdgeProperty.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/plan/SparkEdgeProperty.java Tue Nov 11 06:33:03 2014
@@ -91,7 +91,6 @@ public class SparkEdgeProperty {
         sb.append(" ");
       }
       sb.append("PARTITION-LEVEL SORT");
-      return sb.toString();
     }
 
     if (isShuffleSort()) {
@@ -99,7 +98,6 @@ public class SparkEdgeProperty {
         sb.append(" ");
       }
       sb.append("SORT");
-      return sb.toString();
     }
 
     return sb.toString();

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/annotate_stats_join.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/annotate_stats_join.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/annotate_stats_join.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/annotate_stats_join.q.out Tue Nov 11 06:33:03 2014
@@ -162,7 +162,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -237,7 +237,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -310,7 +310,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -384,7 +384,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -461,7 +461,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -550,7 +550,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -641,7 +641,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join0.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join0.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join0.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join0.q.out Tue Nov 11 06:33:03 2014
@@ -28,8 +28,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join1.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join1.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join1.q.out Tue Nov 11 06:33:03 2014
@@ -24,7 +24,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join10.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join10.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join10.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join10.q.out Tue Nov 11 06:33:03 2014
@@ -22,7 +22,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
         Reducer 3 <- Reducer 2 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join11.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join11.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join11.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join11.q.out Tue Nov 11 06:33:03 2014
@@ -22,7 +22,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
         Reducer 3 <- Reducer 2 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join12.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join12.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join12.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join12.q.out Tue Nov 11 06:33:03 2014
@@ -28,7 +28,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
         Reducer 3 <- Reducer 2 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join13.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join13.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join13.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join13.q.out Tue Nov 11 06:33:03 2014
@@ -28,8 +28,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Map 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 2 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Map 6 (PARTITION-LEVEL SORT, 1), Reducer 2 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join14.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join14.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join14.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join14.q.out Tue Nov 11 06:33:03 2014
@@ -28,7 +28,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join15.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join15.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join15.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join15.q.out Tue Nov 11 06:33:03 2014
@@ -22,8 +22,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join16.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join16.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join16.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join16.q.out Tue Nov 11 06:33:03 2014
@@ -22,7 +22,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
         Reducer 3 <- Reducer 2 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join17.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join17.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join17.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join17.q.out Tue Nov 11 06:33:03 2014
@@ -24,7 +24,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18.q.out Tue Nov 11 06:33:03 2014
@@ -32,8 +32,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
         Reducer 6 <- Map 5 (GROUP, 1)
 #### A masked pattern was here ####

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18_multi_distinct.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18_multi_distinct.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18_multi_distinct.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join18_multi_distinct.q.out Tue Nov 11 06:33:03 2014
@@ -34,8 +34,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
         Reducer 6 <- Map 5 (GROUP, 1)
 #### A masked pattern was here ####

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join19.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join19.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join19.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join19.q.out Tue Nov 11 06:33:03 2014
@@ -26,7 +26,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join2.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join2.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join2.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join2.q.out Tue Nov 11 06:33:03 2014
@@ -24,8 +24,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Map 4 (GROUP PARTITION-LEVEL SORT, 1), Reducer 2 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Map 4 (PARTITION-LEVEL SORT, 1), Reducer 2 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join20.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join20.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join20.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join20.q.out Tue Nov 11 06:33:03 2014
@@ -22,8 +22,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1), Map 6 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1), Map 6 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:
@@ -173,8 +173,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1), Map 6 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1), Map 6 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join21.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join21.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join21.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join21.q.out Tue Nov 11 06:33:03 2014
@@ -12,8 +12,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join22.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join22.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join22.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join22.q.out Tue Nov 11 06:33:03 2014
@@ -12,8 +12,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Map 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 2 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Map 6 (PARTITION-LEVEL SORT, 1), Reducer 2 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join23.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join23.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join23.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join23.q.out Tue Nov 11 06:33:03 2014
@@ -12,8 +12,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join24.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join24.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join24.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join24.q.out Tue Nov 11 06:33:03 2014
@@ -32,7 +32,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
         Reducer 3 <- Reducer 2 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join26.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join26.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join26.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join26.q.out Tue Nov 11 06:33:03 2014
@@ -28,7 +28,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
         Reducer 3 <- Reducer 2 (GROUP, 1)
 #### A masked pattern was here ####
       Vertices:

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join27.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join27.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join27.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join27.q.out Tue Nov 11 06:33:03 2014
@@ -31,7 +31,7 @@ STAGE PLANS:
     Spark
       Edges:
         Reducer 2 <- Map 1 (GROUP, 1)
-        Reducer 4 <- Map 7 (GROUP PARTITION-LEVEL SORT, 1), Union 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 4 <- Map 7 (PARTITION-LEVEL SORT, 1), Union 3 (PARTITION-LEVEL SORT, 1)
         Reducer 5 <- Reducer 4 (GROUP, 1)
         Union 3 <- Map 6 (NONE, 0), Reducer 2 (NONE, 0)
 #### A masked pattern was here ####

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join28.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join28.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join28.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join28.q.out Tue Nov 11 06:33:03 2014
@@ -12,8 +12,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -110,8 +110,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -211,8 +211,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -312,8 +312,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join29.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join29.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join29.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join29.q.out Tue Nov 11 06:33:03 2014
@@ -12,8 +12,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -618,8 +618,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -1227,8 +1227,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -1848,8 +1848,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -2466,8 +2466,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -2574,8 +2574,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -3183,8 +3183,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -3292,8 +3292,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -3426,8 +3426,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join3.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join3.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join3.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join3.q.out Tue Nov 11 06:33:03 2014
@@ -24,7 +24,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join30.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join30.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join30.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join30.q.out Tue Nov 11 06:33:03 2014
@@ -22,10 +22,10 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -175,10 +175,10 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -322,10 +322,10 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -475,11 +475,11 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 8 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
-        Reducer 8 <- Map 7 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
+        Reducer 8 <- Map 7 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -671,11 +671,11 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 8 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
-        Reducer 8 <- Map 7 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
+        Reducer 8 <- Map 7 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -858,11 +858,11 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 8 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
-        Reducer 8 <- Map 7 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
+        Reducer 8 <- Map 7 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -1045,11 +1045,11 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 8 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
-        Reducer 8 <- Map 7 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
+        Reducer 8 <- Map 7 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -1232,11 +1232,11 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 8 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
-        Reducer 8 <- Map 7 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
+        Reducer 8 <- Map 7 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join31.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join31.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join31.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join31.q.out Tue Nov 11 06:33:03 2014
@@ -28,11 +28,11 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1), Reducer 8 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (SORT, 1)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1), Reducer 8 (PARTITION-LEVEL SORT, 1)
         Reducer 4 <- Reducer 3 (GROUP, 1)
-        Reducer 6 <- Map 5 (GROUP SORT, 1)
-        Reducer 8 <- Map 7 (GROUP SORT, 1)
+        Reducer 6 <- Map 5 (SORT, 1)
+        Reducer 8 <- Map 7 (SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join32.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join32.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join32.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join32.q.out Tue Nov 11 06:33:03 2014
@@ -34,8 +34,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
-        Reducer 3 <- Reducer 2 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -168,7 +168,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -290,7 +290,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -436,7 +436,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP SORT, 1)
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join4.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join4.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join4.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join4.q.out Tue Nov 11 06:33:03 2014
@@ -46,7 +46,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join5.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join5.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join5.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join5.q.out Tue Nov 11 06:33:03 2014
@@ -46,7 +46,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join6.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join6.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join6.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join6.q.out Tue Nov 11 06:33:03 2014
@@ -46,7 +46,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1 

Modified: hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join7.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join7.q.out?rev=1638033&r1=1638032&r2=1638033&view=diff
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join7.q.out (original)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/auto_join7.q.out Tue Nov 11 06:33:03 2014
@@ -56,7 +56,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
 #### A masked pattern was here ####
       Vertices:
         Map 1