You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2018/10/26 21:11:17 UTC

[07/75] [abbrv] [partial] hive git commit: HIVE-20718: Add perf cli driver with constraints (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query75.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query75.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query75.q.out
new file mode 100644
index 0000000..fee4e83
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query75.q.out
@@ -0,0 +1,662 @@
+PREHOOK: query: explain
+WITH all_sales AS (
+ SELECT d_year
+       ,i_brand_id
+       ,i_class_id
+       ,i_category_id
+       ,i_manufact_id
+       ,SUM(sales_cnt) AS sales_cnt
+       ,SUM(sales_amt) AS sales_amt
+ FROM (SELECT d_year
+             ,i_brand_id
+             ,i_class_id
+             ,i_category_id
+             ,i_manufact_id
+             ,cs_quantity - COALESCE(cr_return_quantity,0) AS sales_cnt
+             ,cs_ext_sales_price - COALESCE(cr_return_amount,0.0) AS sales_amt
+       FROM catalog_sales JOIN item ON i_item_sk=cs_item_sk
+                          JOIN date_dim ON d_date_sk=cs_sold_date_sk
+                          LEFT JOIN catalog_returns ON (cs_order_number=cr_order_number 
+                                                    AND cs_item_sk=cr_item_sk)
+       WHERE i_category='Sports'
+       UNION
+       SELECT d_year
+             ,i_brand_id
+             ,i_class_id
+             ,i_category_id
+             ,i_manufact_id
+             ,ss_quantity - COALESCE(sr_return_quantity,0) AS sales_cnt
+             ,ss_ext_sales_price - COALESCE(sr_return_amt,0.0) AS sales_amt
+       FROM store_sales JOIN item ON i_item_sk=ss_item_sk
+                        JOIN date_dim ON d_date_sk=ss_sold_date_sk
+                        LEFT JOIN store_returns ON (ss_ticket_number=sr_ticket_number 
+                                                AND ss_item_sk=sr_item_sk)
+       WHERE i_category='Sports'
+       UNION
+       SELECT d_year
+             ,i_brand_id
+             ,i_class_id
+             ,i_category_id
+             ,i_manufact_id
+             ,ws_quantity - COALESCE(wr_return_quantity,0) AS sales_cnt
+             ,ws_ext_sales_price - COALESCE(wr_return_amt,0.0) AS sales_amt
+       FROM web_sales JOIN item ON i_item_sk=ws_item_sk
+                      JOIN date_dim ON d_date_sk=ws_sold_date_sk
+                      LEFT JOIN web_returns ON (ws_order_number=wr_order_number 
+                                            AND ws_item_sk=wr_item_sk)
+       WHERE i_category='Sports') sales_detail
+ GROUP BY d_year, i_brand_id, i_class_id, i_category_id, i_manufact_id)
+ SELECT  prev_yr.d_year AS prev_year
+                          ,curr_yr.d_year AS year
+                          ,curr_yr.i_brand_id
+                          ,curr_yr.i_class_id
+                          ,curr_yr.i_category_id
+                          ,curr_yr.i_manufact_id
+                          ,prev_yr.sales_cnt AS prev_yr_cnt
+                          ,curr_yr.sales_cnt AS curr_yr_cnt
+                          ,curr_yr.sales_cnt-prev_yr.sales_cnt AS sales_cnt_diff
+                          ,curr_yr.sales_amt-prev_yr.sales_amt AS sales_amt_diff
+ FROM all_sales curr_yr, all_sales prev_yr
+ WHERE curr_yr.i_brand_id=prev_yr.i_brand_id
+   AND curr_yr.i_class_id=prev_yr.i_class_id
+   AND curr_yr.i_category_id=prev_yr.i_category_id
+   AND curr_yr.i_manufact_id=prev_yr.i_manufact_id
+   AND curr_yr.d_year=2002
+   AND prev_yr.d_year=2002-1
+   AND CAST(curr_yr.sales_cnt AS DECIMAL(17,2))/CAST(prev_yr.sales_cnt AS DECIMAL(17,2))<0.9
+ ORDER BY sales_cnt_diff
+ limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@catalog_returns
+PREHOOK: Input: default@catalog_sales
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@item
+PREHOOK: Input: default@store_returns
+PREHOOK: Input: default@store_sales
+PREHOOK: Input: default@web_returns
+PREHOOK: Input: default@web_sales
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+WITH all_sales AS (
+ SELECT d_year
+       ,i_brand_id
+       ,i_class_id
+       ,i_category_id
+       ,i_manufact_id
+       ,SUM(sales_cnt) AS sales_cnt
+       ,SUM(sales_amt) AS sales_amt
+ FROM (SELECT d_year
+             ,i_brand_id
+             ,i_class_id
+             ,i_category_id
+             ,i_manufact_id
+             ,cs_quantity - COALESCE(cr_return_quantity,0) AS sales_cnt
+             ,cs_ext_sales_price - COALESCE(cr_return_amount,0.0) AS sales_amt
+       FROM catalog_sales JOIN item ON i_item_sk=cs_item_sk
+                          JOIN date_dim ON d_date_sk=cs_sold_date_sk
+                          LEFT JOIN catalog_returns ON (cs_order_number=cr_order_number 
+                                                    AND cs_item_sk=cr_item_sk)
+       WHERE i_category='Sports'
+       UNION
+       SELECT d_year
+             ,i_brand_id
+             ,i_class_id
+             ,i_category_id
+             ,i_manufact_id
+             ,ss_quantity - COALESCE(sr_return_quantity,0) AS sales_cnt
+             ,ss_ext_sales_price - COALESCE(sr_return_amt,0.0) AS sales_amt
+       FROM store_sales JOIN item ON i_item_sk=ss_item_sk
+                        JOIN date_dim ON d_date_sk=ss_sold_date_sk
+                        LEFT JOIN store_returns ON (ss_ticket_number=sr_ticket_number 
+                                                AND ss_item_sk=sr_item_sk)
+       WHERE i_category='Sports'
+       UNION
+       SELECT d_year
+             ,i_brand_id
+             ,i_class_id
+             ,i_category_id
+             ,i_manufact_id
+             ,ws_quantity - COALESCE(wr_return_quantity,0) AS sales_cnt
+             ,ws_ext_sales_price - COALESCE(wr_return_amt,0.0) AS sales_amt
+       FROM web_sales JOIN item ON i_item_sk=ws_item_sk
+                      JOIN date_dim ON d_date_sk=ws_sold_date_sk
+                      LEFT JOIN web_returns ON (ws_order_number=wr_order_number 
+                                            AND ws_item_sk=wr_item_sk)
+       WHERE i_category='Sports') sales_detail
+ GROUP BY d_year, i_brand_id, i_class_id, i_category_id, i_manufact_id)
+ SELECT  prev_yr.d_year AS prev_year
+                          ,curr_yr.d_year AS year
+                          ,curr_yr.i_brand_id
+                          ,curr_yr.i_class_id
+                          ,curr_yr.i_category_id
+                          ,curr_yr.i_manufact_id
+                          ,prev_yr.sales_cnt AS prev_yr_cnt
+                          ,curr_yr.sales_cnt AS curr_yr_cnt
+                          ,curr_yr.sales_cnt-prev_yr.sales_cnt AS sales_cnt_diff
+                          ,curr_yr.sales_amt-prev_yr.sales_amt AS sales_amt_diff
+ FROM all_sales curr_yr, all_sales prev_yr
+ WHERE curr_yr.i_brand_id=prev_yr.i_brand_id
+   AND curr_yr.i_class_id=prev_yr.i_class_id
+   AND curr_yr.i_category_id=prev_yr.i_category_id
+   AND curr_yr.i_manufact_id=prev_yr.i_manufact_id
+   AND curr_yr.d_year=2002
+   AND prev_yr.d_year=2002-1
+   AND CAST(curr_yr.sales_cnt AS DECIMAL(17,2))/CAST(prev_yr.sales_cnt AS DECIMAL(17,2))<0.9
+ ORDER BY sales_cnt_diff
+ limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@catalog_returns
+POSTHOOK: Input: default@catalog_sales
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@item
+POSTHOOK: Input: default@store_returns
+POSTHOOK: Input: default@store_sales
+POSTHOOK: Input: default@web_returns
+POSTHOOK: Input: default@web_sales
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Map 1 <- Reducer 12 (BROADCAST_EDGE), Reducer 38 (BROADCAST_EDGE)
+Map 45 <- Reducer 16 (BROADCAST_EDGE), Reducer 39 (BROADCAST_EDGE)
+Map 47 <- Reducer 20 (BROADCAST_EDGE), Reducer 40 (BROADCAST_EDGE)
+Map 49 <- Reducer 28 (BROADCAST_EDGE), Reducer 41 (BROADCAST_EDGE)
+Map 50 <- Reducer 32 (BROADCAST_EDGE), Reducer 42 (BROADCAST_EDGE)
+Map 51 <- Reducer 36 (BROADCAST_EDGE), Reducer 43 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 11 (SIMPLE_EDGE), Map 45 (SIMPLE_EDGE)
+Reducer 14 <- Map 37 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 15 <- Map 46 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 16 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 11 (SIMPLE_EDGE), Map 47 (SIMPLE_EDGE)
+Reducer 18 <- Map 37 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE)
+Reducer 19 <- Map 48 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Union 7 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 20 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Map 11 (SIMPLE_EDGE), Map 49 (SIMPLE_EDGE)
+Reducer 22 <- Map 37 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
+Reducer 23 <- Map 44 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE), Union 24 (CONTAINS)
+Reducer 25 <- Union 24 (SIMPLE_EDGE), Union 26 (CONTAINS)
+Reducer 27 <- Union 26 (SIMPLE_EDGE)
+Reducer 28 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 11 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE)
+Reducer 3 <- Map 37 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 37 (SIMPLE_EDGE), Reducer 29 (SIMPLE_EDGE)
+Reducer 31 <- Map 46 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE), Union 24 (CONTAINS)
+Reducer 32 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 33 <- Map 11 (SIMPLE_EDGE), Map 51 (SIMPLE_EDGE)
+Reducer 34 <- Map 37 (SIMPLE_EDGE), Reducer 33 (SIMPLE_EDGE)
+Reducer 35 <- Map 48 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE), Union 26 (CONTAINS)
+Reducer 36 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 38 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 39 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Map 44 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 40 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 41 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 42 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 43 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
+Reducer 8 <- Union 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 27 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 10 vectorized
+      File Output Operator [FS_633]
+        Select Operator [SEL_632] (rows=100 width=160)
+          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
+          Limit [LIM_631] (rows=100 width=152)
+            Number of rows:100
+            Select Operator [SEL_630] (rows=3422897230256 width=151)
+              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+            <-Reducer 9 [SIMPLE_EDGE]
+              SHUFFLE [RS_169]
+                Select Operator [SEL_168] (rows=3422897230256 width=151)
+                  Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                  Filter Operator [FIL_167] (rows=3422897230256 width=479)
+                    predicate:((_col13 / _col6) < 0.9)
+                    Merge Join Operator [MERGEJOIN_512] (rows=10268691690770 width=479)
+                      Conds:RS_625._col0, _col1, _col2, _col3=RS_629._col0, _col1, _col2, _col3(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col11","_col12","_col13"]
+                    <-Reducer 27 [SIMPLE_EDGE] vectorized
+                      SHUFFLE [RS_629]
+                        PartitionCols:_col0, _col1, _col2, _col3
+                        Select Operator [SEL_628] (rows=84235776 width=247)
+                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+                          Group By Operator [GBY_627] (rows=84235776 width=135)
+                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3
+                            Group By Operator [GBY_626] (rows=736356923 width=131)
+                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
+                            <-Union 26 [SIMPLE_EDGE]
+                              <-Reducer 25 [CONTAINS] vectorized
+                                Reduce Output Operator [RS_663]
+                                  PartitionCols:_col0, _col1, _col2, _col3
+                                  Group By Operator [GBY_662] (rows=736356923 width=131)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                    Group By Operator [GBY_661] (rows=621178955 width=131)
+                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
+                                    <-Union 24 [SIMPLE_EDGE]
+                                      <-Reducer 23 [CONTAINS]
+                                        Reduce Output Operator [RS_536]
+                                          PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
+                                          Group By Operator [GBY_535] (rows=621178955 width=131)
+                                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                            Select Operator [SEL_533] (rows=170474971 width=131)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Merge Join Operator [MERGEJOIN_532] (rows=170474971 width=234)
+                                                Conds:RS_99._col1, _col2=RS_618._col0, _col1(Left Outer),Output:["_col3","_col4","_col7","_col8","_col9","_col10","_col13","_col14"]
+                                              <-Map 44 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_618]
+                                                  PartitionCols:_col0, _col1
+                                                  Select Operator [SEL_616] (rows=28798881 width=121)
+                                                    Output:["_col0","_col1","_col2","_col3"]
+                                                    TableScan [TS_9] (rows=28798881 width=121)
+                                                      default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number","cr_return_quantity","cr_return_amount"]
+                                              <-Reducer 22 [SIMPLE_EDGE]
+                                                SHUFFLE [RS_99]
+                                                  PartitionCols:_col1, _col2
+                                                  Merge Join Operator [MERGEJOIN_504] (rows=96821196 width=138)
+                                                    Conds:RS_96._col1=RS_593._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                                  <-Map 37 [SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_593]
+                                                      PartitionCols:_col0
+                                                      Select Operator [SEL_586] (rows=45745 width=19)
+                                                        Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                        Filter Operator [FIL_585] (rows=45745 width=109)
+                                                          predicate:((i_category = 'Sports') and i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_manufact_id is not null)
+                                                          TableScan [TS_6] (rows=462000 width=109)
+                                                            default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_class_id","i_category_id","i_category","i_manufact_id"]
+                                                  <-Reducer 21 [SIMPLE_EDGE]
+                                                    SHUFFLE [RS_96]
+                                                      PartitionCols:_col1
+                                                      Merge Join Operator [MERGEJOIN_503] (rows=101592102 width=122)
+                                                        Conds:RS_660._col0=RS_565._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                      <-Map 11 [SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_565]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_556] (rows=652 width=4)
+                                                            Output:["_col0"]
+                                                            Filter Operator [FIL_552] (rows=652 width=8)
+                                                              predicate:(d_year = 2002)
+                                                              TableScan [TS_3] (rows=73049 width=8)
+                                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
+                                                      <-Map 49 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_660]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_659] (rows=286549727 width=127)
+                                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                            Filter Operator [FIL_658] (rows=286549727 width=127)
+                                                              predicate:((cs_item_sk BETWEEN DynamicValue(RS_97_item_i_item_sk_min) AND DynamicValue(RS_97_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_97_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_94_date_dim_d_date_sk_min) AND DynamicValue(RS_94_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_94_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
+                                                              TableScan [TS_82] (rows=287989836 width=127)
+                                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_order_number","cs_quantity","cs_ext_sales_price"]
+                                                              <-Reducer 28 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_655]
+                                                                  Group By Operator [GBY_654] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_580]
+                                                                      Group By Operator [GBY_574] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_566] (rows=652 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_556]
+                                                              <-Reducer 41 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_657]
+                                                                  Group By Operator [GBY_656] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_608]
+                                                                      Group By Operator [GBY_602] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_594] (rows=45745 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_586]
+                                      <-Reducer 31 [CONTAINS]
+                                        Reduce Output Operator [RS_545]
+                                          PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
+                                          Group By Operator [GBY_544] (rows=621178955 width=131)
+                                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                            Select Operator [SEL_542] (rows=450703984 width=131)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Merge Join Operator [MERGEJOIN_541] (rows=450703984 width=204)
+                                                Conds:RS_120._col1, _col2=RS_643._col0, _col1(Left Outer),Output:["_col3","_col4","_col7","_col8","_col9","_col10","_col13","_col14"]
+                                              <-Map 46 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_643]
+                                                  PartitionCols:_col0, _col1
+                                                  Select Operator [SEL_641] (rows=57591150 width=119)
+                                                    Output:["_col0","_col1","_col2","_col3"]
+                                                    TableScan [TS_30] (rows=57591150 width=119)
+                                                      default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number","sr_return_quantity","sr_return_amt"]
+                                              <-Reducer 30 [SIMPLE_EDGE]
+                                                SHUFFLE [RS_120]
+                                                  PartitionCols:_col1, _col2
+                                                  Merge Join Operator [MERGEJOIN_507] (rows=187186493 width=124)
+                                                    Conds:RS_117._col1=RS_595._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                                  <-Map 37 [SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_595]
+                                                      PartitionCols:_col0
+                                                       Please refer to the previous Select Operator [SEL_586]
+                                                  <-Reducer 29 [SIMPLE_EDGE]
+                                                    SHUFFLE [RS_117]
+                                                      PartitionCols:_col1
+                                                      Merge Join Operator [MERGEJOIN_506] (rows=196410188 width=109)
+                                                        Conds:RS_670._col0=RS_567._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                      <-Map 11 [SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_567]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_557] (rows=652 width=4)
+                                                            Output:["_col0"]
+                                                            Filter Operator [FIL_553] (rows=652 width=8)
+                                                              predicate:(d_year = 2002)
+                                                               Please refer to the previous TableScan [TS_3]
+                                                      <-Map 50 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_670]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_669] (rows=550076554 width=122)
+                                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                            Filter Operator [FIL_668] (rows=550076554 width=122)
+                                                              predicate:((ss_item_sk BETWEEN DynamicValue(RS_118_item_i_item_sk_min) AND DynamicValue(RS_118_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_118_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_115_date_dim_d_date_sk_min) AND DynamicValue(RS_115_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_115_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
+                                                              TableScan [TS_103] (rows=575995635 width=122)
+                                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_ticket_number","ss_quantity","ss_ext_sales_price"]
+                                                              <-Reducer 32 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_665]
+                                                                  Group By Operator [GBY_664] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_581]
+                                                                      Group By Operator [GBY_575] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_568] (rows=652 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_557]
+                                                              <-Reducer 42 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_667]
+                                                                  Group By Operator [GBY_666] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_609]
+                                                                      Group By Operator [GBY_603] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_596] (rows=45745 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_586]
+                              <-Reducer 35 [CONTAINS]
+                                Reduce Output Operator [RS_550]
+                                  PartitionCols:_col0, _col1, _col2, _col3
+                                  Group By Operator [GBY_549] (rows=736356923 width=131)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                    Select Operator [SEL_547] (rows=115177968 width=131)
+                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                      Merge Join Operator [MERGEJOIN_546] (rows=115177968 width=220)
+                                        Conds:RS_148._col1, _col2=RS_653._col0, _col1(Left Outer),Output:["_col3","_col4","_col7","_col8","_col9","_col10","_col13","_col14"]
+                                      <-Map 48 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_653]
+                                          PartitionCols:_col0, _col1
+                                          Select Operator [SEL_651] (rows=14398467 width=118)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            TableScan [TS_58] (rows=14398467 width=118)
+                                              default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_item_sk","wr_order_number","wr_return_quantity","wr_return_amt"]
+                                      <-Reducer 34 [SIMPLE_EDGE]
+                                        SHUFFLE [RS_148]
+                                          PartitionCols:_col1, _col2
+                                          Merge Join Operator [MERGEJOIN_510] (rows=48990732 width=139)
+                                            Conds:RS_145._col1=RS_597._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                          <-Map 37 [SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_597]
+                                              PartitionCols:_col0
+                                               Please refer to the previous Select Operator [SEL_586]
+                                          <-Reducer 33 [SIMPLE_EDGE]
+                                            SHUFFLE [RS_145]
+                                              PartitionCols:_col1
+                                              Merge Join Operator [MERGEJOIN_509] (rows=51404771 width=123)
+                                                Conds:RS_677._col0=RS_569._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                              <-Map 11 [SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_569]
+                                                  PartitionCols:_col0
+                                                  Select Operator [SEL_558] (rows=652 width=4)
+                                                    Output:["_col0"]
+                                                    Filter Operator [FIL_554] (rows=652 width=8)
+                                                      predicate:(d_year = 2002)
+                                                       Please refer to the previous TableScan [TS_3]
+                                              <-Map 51 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_677]
+                                                  PartitionCols:_col0
+                                                  Select Operator [SEL_676] (rows=143966864 width=127)
+                                                    Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                    Filter Operator [FIL_675] (rows=143966864 width=127)
+                                                      predicate:((ws_item_sk BETWEEN DynamicValue(RS_146_item_i_item_sk_min) AND DynamicValue(RS_146_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_146_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_143_date_dim_d_date_sk_min) AND DynamicValue(RS_143_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_143_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
+                                                      TableScan [TS_131] (rows=144002668 width=127)
+                                                        default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_order_number","ws_quantity","ws_ext_sales_price"]
+                                                      <-Reducer 36 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_672]
+                                                          Group By Operator [GBY_671] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            PARTITION_ONLY_SHUFFLE [RS_582]
+                                                              Group By Operator [GBY_576] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_570] (rows=652 width=4)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_558]
+                                                      <-Reducer 43 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_674]
+                                                          Group By Operator [GBY_673] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            PARTITION_ONLY_SHUFFLE [RS_610]
+                                                              Group By Operator [GBY_604] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_598] (rows=45745 width=4)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_586]
+                    <-Reducer 8 [SIMPLE_EDGE] vectorized
+                      SHUFFLE [RS_625]
+                        PartitionCols:_col0, _col1, _col2, _col3
+                        Select Operator [SEL_624] (rows=84235776 width=247)
+                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+                          Group By Operator [GBY_623] (rows=84235776 width=135)
+                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3
+                            Group By Operator [GBY_622] (rows=736356923 width=131)
+                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
+                            <-Union 7 [SIMPLE_EDGE]
+                              <-Reducer 19 [CONTAINS]
+                                Reduce Output Operator [RS_531]
+                                  PartitionCols:_col0, _col1, _col2, _col3
+                                  Group By Operator [GBY_530] (rows=736356923 width=131)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                    Select Operator [SEL_528] (rows=115177968 width=131)
+                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                      Merge Join Operator [MERGEJOIN_527] (rows=115177968 width=220)
+                                        Conds:RS_66._col1, _col2=RS_652._col0, _col1(Left Outer),Output:["_col3","_col4","_col7","_col8","_col9","_col10","_col13","_col14"]
+                                      <-Map 48 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_652]
+                                          PartitionCols:_col0, _col1
+                                           Please refer to the previous Select Operator [SEL_651]
+                                      <-Reducer 18 [SIMPLE_EDGE]
+                                        SHUFFLE [RS_66]
+                                          PartitionCols:_col1, _col2
+                                          Merge Join Operator [MERGEJOIN_501] (rows=48990732 width=139)
+                                            Conds:RS_63._col1=RS_591._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                          <-Map 37 [SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_591]
+                                              PartitionCols:_col0
+                                               Please refer to the previous Select Operator [SEL_586]
+                                          <-Reducer 17 [SIMPLE_EDGE]
+                                            SHUFFLE [RS_63]
+                                              PartitionCols:_col1
+                                              Merge Join Operator [MERGEJOIN_500] (rows=51404771 width=123)
+                                                Conds:RS_650._col0=RS_563._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                              <-Map 11 [SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_563]
+                                                  PartitionCols:_col0
+                                                  Select Operator [SEL_555] (rows=652 width=4)
+                                                    Output:["_col0"]
+                                                    Filter Operator [FIL_551] (rows=652 width=8)
+                                                      predicate:(d_year = 2001)
+                                                       Please refer to the previous TableScan [TS_3]
+                                              <-Map 47 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_650]
+                                                  PartitionCols:_col0
+                                                  Select Operator [SEL_649] (rows=143966864 width=127)
+                                                    Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                    Filter Operator [FIL_648] (rows=143966864 width=127)
+                                                      predicate:((ws_item_sk BETWEEN DynamicValue(RS_64_item_i_item_sk_min) AND DynamicValue(RS_64_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_64_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_61_date_dim_d_date_sk_min) AND DynamicValue(RS_61_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_61_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
+                                                      TableScan [TS_49] (rows=144002668 width=127)
+                                                        default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_order_number","ws_quantity","ws_ext_sales_price"]
+                                                      <-Reducer 20 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_645]
+                                                          Group By Operator [GBY_644] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            PARTITION_ONLY_SHUFFLE [RS_579]
+                                                              Group By Operator [GBY_573] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_564] (rows=652 width=4)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_555]
+                                                      <-Reducer 40 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_647]
+                                                          Group By Operator [GBY_646] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            PARTITION_ONLY_SHUFFLE [RS_607]
+                                                              Group By Operator [GBY_601] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_592] (rows=45745 width=4)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_586]
+                              <-Reducer 6 [CONTAINS] vectorized
+                                Reduce Output Operator [RS_621]
+                                  PartitionCols:_col0, _col1, _col2, _col3
+                                  Group By Operator [GBY_620] (rows=736356923 width=131)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                    Group By Operator [GBY_619] (rows=621178955 width=131)
+                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
+                                    <-Union 5 [SIMPLE_EDGE]
+                                      <-Reducer 15 [CONTAINS]
+                                        Reduce Output Operator [RS_526]
+                                          PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
+                                          Group By Operator [GBY_525] (rows=621178955 width=131)
+                                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                            Select Operator [SEL_523] (rows=450703984 width=131)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Merge Join Operator [MERGEJOIN_522] (rows=450703984 width=204)
+                                                Conds:RS_38._col1, _col2=RS_642._col0, _col1(Left Outer),Output:["_col3","_col4","_col7","_col8","_col9","_col10","_col13","_col14"]
+                                              <-Map 46 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_642]
+                                                  PartitionCols:_col0, _col1
+                                                   Please refer to the previous Select Operator [SEL_641]
+                                              <-Reducer 14 [SIMPLE_EDGE]
+                                                SHUFFLE [RS_38]
+                                                  PartitionCols:_col1, _col2
+                                                  Merge Join Operator [MERGEJOIN_498] (rows=187186493 width=124)
+                                                    Conds:RS_35._col1=RS_589._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                                  <-Map 37 [SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_589]
+                                                      PartitionCols:_col0
+                                                       Please refer to the previous Select Operator [SEL_586]
+                                                  <-Reducer 13 [SIMPLE_EDGE]
+                                                    SHUFFLE [RS_35]
+                                                      PartitionCols:_col1
+                                                      Merge Join Operator [MERGEJOIN_497] (rows=196410188 width=109)
+                                                        Conds:RS_640._col0=RS_561._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                      <-Map 11 [SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_561]
+                                                          PartitionCols:_col0
+                                                           Please refer to the previous Select Operator [SEL_555]
+                                                      <-Map 45 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_640]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_639] (rows=550076554 width=122)
+                                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                            Filter Operator [FIL_638] (rows=550076554 width=122)
+                                                              predicate:((ss_item_sk BETWEEN DynamicValue(RS_36_item_i_item_sk_min) AND DynamicValue(RS_36_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_36_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_33_date_dim_d_date_sk_min) AND DynamicValue(RS_33_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_33_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
+                                                              TableScan [TS_21] (rows=575995635 width=122)
+                                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_ticket_number","ss_quantity","ss_ext_sales_price"]
+                                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_635]
+                                                                  Group By Operator [GBY_634] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_578]
+                                                                      Group By Operator [GBY_572] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_562] (rows=652 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_555]
+                                                              <-Reducer 39 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_637]
+                                                                  Group By Operator [GBY_636] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_606]
+                                                                      Group By Operator [GBY_600] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_590] (rows=45745 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_586]
+                                      <-Reducer 4 [CONTAINS]
+                                        Reduce Output Operator [RS_517]
+                                          PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
+                                          Group By Operator [GBY_516] (rows=621178955 width=131)
+                                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],keys:_col0, _col1, _col2, _col3, _col4, _col5
+                                            Select Operator [SEL_514] (rows=170474971 width=131)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Merge Join Operator [MERGEJOIN_513] (rows=170474971 width=234)
+                                                Conds:RS_17._col1, _col2=RS_617._col0, _col1(Left Outer),Output:["_col3","_col4","_col7","_col8","_col9","_col10","_col13","_col14"]
+                                              <-Map 44 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_617]
+                                                  PartitionCols:_col0, _col1
+                                                   Please refer to the previous Select Operator [SEL_616]
+                                              <-Reducer 3 [SIMPLE_EDGE]
+                                                SHUFFLE [RS_17]
+                                                  PartitionCols:_col1, _col2
+                                                  Merge Join Operator [MERGEJOIN_495] (rows=96821196 width=138)
+                                                    Conds:RS_14._col1=RS_587._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col10"]
+                                                  <-Map 37 [SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_587]
+                                                      PartitionCols:_col0
+                                                       Please refer to the previous Select Operator [SEL_586]
+                                                  <-Reducer 2 [SIMPLE_EDGE]
+                                                    SHUFFLE [RS_14]
+                                                      PartitionCols:_col1
+                                                      Merge Join Operator [MERGEJOIN_494] (rows=101592102 width=122)
+                                                        Conds:RS_615._col0=RS_559._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                      <-Map 11 [SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_559]
+                                                          PartitionCols:_col0
+                                                           Please refer to the previous Select Operator [SEL_555]
+                                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_615]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_614] (rows=286549727 width=127)
+                                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                            Filter Operator [FIL_613] (rows=286549727 width=127)
+                                                              predicate:((cs_item_sk BETWEEN DynamicValue(RS_15_item_i_item_sk_min) AND DynamicValue(RS_15_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_15_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_12_date_dim_d_date_sk_min) AND DynamicValue(RS_12_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_12_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
+                                                              TableScan [TS_0] (rows=287989836 width=127)
+                                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_order_number","cs_quantity","cs_ext_sales_price"]
+                                                              <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_584]
+                                                                  Group By Operator [GBY_583] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_577]
+                                                                      Group By Operator [GBY_571] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_560] (rows=652 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_555]
+                                                              <-Reducer 38 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_612]
+                                                                  Group By Operator [GBY_611] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_605]
+                                                                      Group By Operator [GBY_599] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_588] (rows=45745 width=4)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_586]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query76.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query76.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query76.q.out
new file mode 100644
index 0000000..56d4500
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query76.q.out
@@ -0,0 +1,197 @@
+PREHOOK: query: explain
+select  channel, col_name, d_year, d_qoy, i_category, COUNT(*) sales_cnt, SUM(ext_sales_price) sales_amt FROM (
+        SELECT 'store' as channel, 'ss_addr_sk' col_name, d_year, d_qoy, i_category, ss_ext_sales_price ext_sales_price
+         FROM store_sales, item, date_dim
+         WHERE ss_addr_sk IS NULL
+           AND ss_sold_date_sk=d_date_sk
+           AND ss_item_sk=i_item_sk
+        UNION ALL
+        SELECT 'web' as channel, 'ws_web_page_sk' col_name, d_year, d_qoy, i_category, ws_ext_sales_price ext_sales_price
+         FROM web_sales, item, date_dim
+         WHERE ws_web_page_sk IS NULL
+           AND ws_sold_date_sk=d_date_sk
+           AND ws_item_sk=i_item_sk
+        UNION ALL
+        SELECT 'catalog' as channel, 'cs_warehouse_sk' col_name, d_year, d_qoy, i_category, cs_ext_sales_price ext_sales_price
+         FROM catalog_sales, item, date_dim
+         WHERE cs_warehouse_sk IS NULL
+           AND cs_sold_date_sk=d_date_sk
+           AND cs_item_sk=i_item_sk) foo
+GROUP BY channel, col_name, d_year, d_qoy, i_category
+ORDER BY channel, col_name, d_year, d_qoy, i_category
+limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@catalog_sales
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@item
+PREHOOK: Input: default@store_sales
+PREHOOK: Input: default@web_sales
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+select  channel, col_name, d_year, d_qoy, i_category, COUNT(*) sales_cnt, SUM(ext_sales_price) sales_amt FROM (
+        SELECT 'store' as channel, 'ss_addr_sk' col_name, d_year, d_qoy, i_category, ss_ext_sales_price ext_sales_price
+         FROM store_sales, item, date_dim
+         WHERE ss_addr_sk IS NULL
+           AND ss_sold_date_sk=d_date_sk
+           AND ss_item_sk=i_item_sk
+        UNION ALL
+        SELECT 'web' as channel, 'ws_web_page_sk' col_name, d_year, d_qoy, i_category, ws_ext_sales_price ext_sales_price
+         FROM web_sales, item, date_dim
+         WHERE ws_web_page_sk IS NULL
+           AND ws_sold_date_sk=d_date_sk
+           AND ws_item_sk=i_item_sk
+        UNION ALL
+        SELECT 'catalog' as channel, 'cs_warehouse_sk' col_name, d_year, d_qoy, i_category, cs_ext_sales_price ext_sales_price
+         FROM catalog_sales, item, date_dim
+         WHERE cs_warehouse_sk IS NULL
+           AND cs_sold_date_sk=d_date_sk
+           AND cs_item_sk=i_item_sk) foo
+GROUP BY channel, col_name, d_year, d_qoy, i_category
+ORDER BY channel, col_name, d_year, d_qoy, i_category
+limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@catalog_sales
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@item
+POSTHOOK: Input: default@store_sales
+POSTHOOK: Input: default@web_sales
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 10 <- Map 16 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 5 <- Union 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Map 1 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE)
+Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 6 vectorized
+      File Output Operator [FS_175]
+        Limit [LIM_174] (rows=100 width=408)
+          Number of rows:100
+          Select Operator [SEL_173] (rows=5600 width=408)
+            Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+          <-Reducer 5 [SIMPLE_EDGE] vectorized
+            SHUFFLE [RS_172]
+              Group By Operator [GBY_171] (rows=5600 width=408)
+                Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
+              <-Union 4 [SIMPLE_EDGE]
+                <-Reducer 10 [CONTAINS]
+                  Reduce Output Operator [RS_161]
+                    PartitionCols:_col0, _col1, _col2, _col3, _col4
+                    Group By Operator [GBY_160] (rows=224000 width=408)
+                      Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["count()","sum(_col5)"],keys:_col0, _col1, _col2, _col3, _col4
+                      Top N Key Operator [TNK_159] (rows=26219002 width=388)
+                        keys:_col0, _col1, _col2, _col3, _col4,sort order:+++++,top n:100
+                        Select Operator [SEL_157] (rows=1433911 width=399)
+                          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                          Merge Join Operator [MERGEJOIN_156] (rows=1433911 width=209)
+                            Conds:RS_39._col0=RS_185._col0(Inner),Output:["_col2","_col4","_col6","_col7"]
+                          <-Map 16 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_185]
+                              PartitionCols:_col0
+                              Select Operator [SEL_184] (rows=73049 width=12)
+                                Output:["_col0","_col1","_col2"]
+                                TableScan [TS_34] (rows=73049 width=12)
+                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+                          <-Reducer 9 [SIMPLE_EDGE]
+                            SHUFFLE [RS_39]
+                              PartitionCols:_col0
+                              Merge Join Operator [MERGEJOIN_142] (rows=1433911 width=205)
+                                Conds:RS_183._col1=RS_165._col0(Inner),Output:["_col0","_col2","_col4"]
+                              <-Map 1 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_165]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_162] (rows=462000 width=94)
+                                    Output:["_col0","_col1"]
+                                    TableScan [TS_0] (rows=462000 width=94)
+                                      default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_category"]
+                              <-Map 15 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_183]
+                                  PartitionCols:_col1
+                                  Select Operator [SEL_182] (rows=1433911 width=119)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_181] (rows=1433911 width=123)
+                                      predicate:(cs_sold_date_sk is not null and cs_warehouse_sk is null)
+                                      TableScan [TS_29] (rows=287989836 width=123)
+                                        default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_warehouse_sk","cs_item_sk","cs_ext_sales_price"]
+                <-Reducer 3 [CONTAINS]
+                  Reduce Output Operator [RS_149]
+                    PartitionCols:_col0, _col1, _col2, _col3, _col4
+                    Group By Operator [GBY_148] (rows=224000 width=408)
+                      Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["count()","sum(_col5)"],keys:_col0, _col1, _col2, _col3, _col4
+                      Top N Key Operator [TNK_147] (rows=26219002 width=388)
+                        keys:_col0, _col1, _col2, _col3, _col4,sort order:+++++,top n:100
+                        Select Operator [SEL_145] (rows=24749363 width=387)
+                          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                          Merge Join Operator [MERGEJOIN_144] (rows=24749363 width=204)
+                            Conds:RS_10._col2=RS_170._col0(Inner),Output:["_col1","_col4","_col6","_col7"]
+                          <-Map 12 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_170]
+                              PartitionCols:_col0
+                              Select Operator [SEL_169] (rows=73049 width=12)
+                                Output:["_col0","_col1","_col2"]
+                                TableScan [TS_5] (rows=73049 width=12)
+                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+                          <-Reducer 2 [SIMPLE_EDGE]
+                            SHUFFLE [RS_10]
+                              PartitionCols:_col2
+                              Merge Join Operator [MERGEJOIN_138] (rows=24749363 width=200)
+                                Conds:RS_163._col0=RS_168._col1(Inner),Output:["_col1","_col2","_col4"]
+                              <-Map 1 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_163]
+                                  PartitionCols:_col0
+                                   Please refer to the previous Select Operator [SEL_162]
+                              <-Map 11 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_168]
+                                  PartitionCols:_col1
+                                  Select Operator [SEL_167] (rows=24749363 width=114)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_166] (rows=24749363 width=118)
+                                      predicate:(ss_addr_sk is null and ss_sold_date_sk is not null)
+                                      TableScan [TS_2] (rows=575995635 width=118)
+                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
+                <-Reducer 8 [CONTAINS]
+                  Reduce Output Operator [RS_155]
+                    PartitionCols:_col0, _col1, _col2, _col3, _col4
+                    Group By Operator [GBY_154] (rows=224000 width=408)
+                      Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["count()","sum(_col5)"],keys:_col0, _col1, _col2, _col3, _col4
+                      Top N Key Operator [TNK_153] (rows=26219002 width=388)
+                        keys:_col0, _col1, _col2, _col3, _col4,sort order:+++++,top n:100
+                        Select Operator [SEL_151] (rows=35728 width=394)
+                          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                          Merge Join Operator [MERGEJOIN_150] (rows=35728 width=209)
+                            Conds:RS_24._col0=RS_180._col0(Inner),Output:["_col2","_col4","_col6","_col7"]
+                          <-Map 14 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_180]
+                              PartitionCols:_col0
+                              Select Operator [SEL_179] (rows=73049 width=12)
+                                Output:["_col0","_col1","_col2"]
+                                TableScan [TS_19] (rows=73049 width=12)
+                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+                          <-Reducer 7 [SIMPLE_EDGE]
+                            SHUFFLE [RS_24]
+                              PartitionCols:_col0
+                              Merge Join Operator [MERGEJOIN_140] (rows=35728 width=205)
+                                Conds:RS_178._col1=RS_164._col0(Inner),Output:["_col0","_col2","_col4"]
+                              <-Map 1 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_164]
+                                  PartitionCols:_col0
+                                   Please refer to the previous Select Operator [SEL_162]
+                              <-Map 13 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_178]
+                                  PartitionCols:_col1
+                                  Select Operator [SEL_177] (rows=35728 width=119)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_176] (rows=35728 width=123)
+                                      predicate:(ws_sold_date_sk is not null and ws_web_page_sk is null)
+                                      TableScan [TS_14] (rows=144002668 width=123)
+                                        default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_page_sk","ws_ext_sales_price"]
+