http://git-wip-us.apache.org/repos/asf/hive/blob/09b6f9a3/ql/src/test/results/clientpositive/perf/query50.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/perf/query50.q.out b/ql/src/test/results/clientpositive/perf/query50.q.out new file mode 100644 index 0000000..fcc8338 --- /dev/null +++ b/ql/src/test/results/clientpositive/perf/query50.q.out @@ -0,0 +1,287 @@ +PREHOOK: query: explain +select + s_store_name + ,s_company_id + ,s_street_number + ,s_street_name + ,s_street_type + ,s_suite_number + ,s_city + ,s_county + ,s_state + ,s_zip + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk <= 30 ) then 1 else 0 end) as 30days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 30) and + (sr_returned_date_sk - ss_sold_date_sk <= 60) then 1 else 0 end ) as 3160days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 60) and + (sr_returned_date_sk - ss_sold_date_sk <= 90) then 1 else 0 end) as 6190days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 90) and + (sr_returned_date_sk - ss_sold_date_sk <= 120) then 1 else 0 end) as 91120days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 120) then 1 else 0 end) as 120days +from + store_sales + ,store_returns + ,store + ,date_dim d1 + ,date_dim d2 +where + d2.d_year = 2000 +and d2.d_moy = 9 +and store_sales.ss_ticket_number = store_returns.sr_ticket_number +and store_sales.ss_item_sk = store_returns.sr_item_sk +and store_sales.ss_sold_date_sk = d1.d_date_sk +and sr_returned_date_sk = d2.d_date_sk +and store_sales.ss_customer_sk = store_returns.sr_customer_sk +and store_sales.ss_store_sk = store.s_store_sk +group by + s_store_name + ,s_company_id + ,s_street_number + ,s_street_name + ,s_street_type + ,s_suite_number + ,s_city + ,s_county + ,s_state + ,s_zip +order by s_store_name + ,s_company_id + ,s_street_number + ,s_street_name + ,s_street_type + ,s_suite_number + ,s_city + ,s_county + ,s_state + ,s_zip +limit 100 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select + s_store_name + ,s_company_id + ,s_street_number + ,s_street_name + ,s_street_type + ,s_suite_number + ,s_city + ,s_county + ,s_state + ,s_zip + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk <= 30 ) then 1 else 0 end) as 30days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 30) and + (sr_returned_date_sk - ss_sold_date_sk <= 60) then 1 else 0 end ) as 3160days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 60) and + (sr_returned_date_sk - ss_sold_date_sk <= 90) then 1 else 0 end) as 6190days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 90) and + (sr_returned_date_sk - ss_sold_date_sk <= 120) then 1 else 0 end) as 91120days + ,sum(case when (sr_returned_date_sk - ss_sold_date_sk > 120) then 1 else 0 end) as 120days +from + store_sales + ,store_returns + ,store + ,date_dim d1 + ,date_dim d2 +where + d2.d_year = 2000 +and d2.d_moy = 9 +and store_sales.ss_ticket_number = store_returns.sr_ticket_number +and store_sales.ss_item_sk = store_returns.sr_item_sk +and store_sales.ss_sold_date_sk = d1.d_date_sk +and sr_returned_date_sk = d2.d_date_sk +and store_sales.ss_customer_sk = store_returns.sr_customer_sk +and store_sales.ss_store_sk = store.s_store_sk +group by + s_store_name + ,s_company_id + ,s_street_number + ,s_street_name + ,s_street_type + ,s_suite_number + ,s_city + ,s_county + ,s_state + ,s_zip +order by s_store_name + ,s_company_id + ,s_street_number + ,s_street_name + ,s_street_type + ,s_suite_number + ,s_city + ,s_county + ,s_state + ,s_zip +limit 100 +POSTHOOK: type: QUERY +Plan optimized by CBO. + +Vertex dependency in root stage +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) +Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) +Reducer 6 <- Reducer 5 (SIMPLE_EDGE) +Reducer 7 <- Reducer 6 (SIMPLE_EDGE) + +Stage-0 + Fetch Operator + limit:100 + Stage-1 + Reducer 7 + File Output Operator [FS_44] + compressed:false + Statistics:Num rows: 100 Data size: 111900 Basic stats: COMPLETE Column stats: NONE + table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"} + Limit [LIM_43] + Number of rows:100 + Statistics:Num rows: 100 Data size: 111900 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_42] + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] + | Statistics:Num rows: 44194 Data size: 49453809 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 6 [SIMPLE_EDGE] + Reduce Output Operator [RS_41] + key expressions:_col0 (type: string), _col1 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string), _col7 (type: string), _col8 (type: string), _col9 (type: string) + sort order:++++++++++ + Statistics:Num rows: 44194 Data size: 49453809 Basic stats: COMPLETE Column stats: NONE + value expressions:_col10 (type: bigint), _col11 (type: bigint), _col12 (type: bigint), _col13 (type: bigint), _col14 (type: bigint) + Group By Operator [GBY_39] + | aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)"] + | keys:KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: string), KEY._col3 (type: string), KEY._col4 (type: string), KEY._col5 (type: string), KEY._col6 (type: string), KEY._col7 (type: string), KEY._col8 (type: string), KEY._col9 (type: string) + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] + | Statistics:Num rows: 44194 Data size: 49453809 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 5 [SIMPLE_EDGE] + Reduce Output Operator [RS_38] + key expressions:_col0 (type: string), _col1 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string), _col7 (type: string), _col8 (type: string), _col9 (type: string) + Map-reduce partition columns:_col0 (type: string), _col1 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string), _col7 (type: string), _col8 (type: string), _col9 (type: string) + sort order:++++++++++ + Statistics:Num rows: 88388 Data size: 98907619 Basic stats: COMPLETE Column stats: NONE + value expressions:_col10 (type: bigint), _col11 (type: bigint), _col12 (type: bigint), _col13 (type: bigint), _col14 (type: bigint) + Group By Operator [GBY_37] + aggregations:["sum(_col10)","sum(_col11)","sum(_col12)","sum(_col13)","sum(_col14)"] + keys:_col0 (type: string), _col1 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string), _col7 (type: string), _col8 (type: string), _col9 (type: string) + outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] + Statistics:Num rows: 88388 Data size: 98907619 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_35] + outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"] + Statistics:Num rows: 88388 Data size: 98907619 Basic stats: COMPLETE Column stats: NONE + Merge Join Operator [MERGEJOIN_67] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col5 (type: int)","1":"_col0 (type: int)"} + | outputColumnNames:["_col0","_col5","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19"] + | Statistics:Num rows: 88388 Data size: 98907619 Basic stats: COMPLETE Column stats: NONE + |<-Map 11 [SIMPLE_EDGE] + | Reduce Output Operator [RS_33] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + | Select Operator [SEL_14] + | outputColumnNames:["_col0"] + | Statistics:Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + | Filter Operator [FIL_63] + | predicate:(((d_year = 2000) and d_date_sk is not null) and (d_moy = 9)) (type: boolean) + | Statistics:Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + | TableScan [TS_12] + | alias:d1 + | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 4 [SIMPLE_EDGE] + Reduce Output Operator [RS_31] + key expressions:_col5 (type: int) + Map-reduce partition columns:_col5 (type: int) + sort order:+ + Statistics:Num rows: 80353 Data size: 89916016 Basic stats: COMPLETE Column stats: NONE + value expressions:_col0 (type: int), _col10 (type: string), _col11 (type: int), _col12 (type: string), _col13 (type: string), _col14 (type: string), _col15 (type: string), _col16 (type: string), _col17 (type: string), _col18 (type: string), _col19 (type: string) + Merge Join Operator [MERGEJOIN_66] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col0 (type: int)","1":"_col0 (type: int)"} + | outputColumnNames:["_col0","_col5","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19"] + | Statistics:Num rows: 80353 Data size: 89916016 Basic stats: COMPLETE Column stats: NONE + |<-Map 10 [SIMPLE_EDGE] + | Reduce Output Operator [RS_28] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + | Select Operator [SEL_11] + | outputColumnNames:["_col0"] + | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + | Filter Operator [FIL_62] + | predicate:d_date_sk is not null (type: boolean) + | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + | TableScan [TS_9] + | alias:d1 + | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 3 [SIMPLE_EDGE] + Reduce Output Operator [RS_26] + key expressions:_col0 (type: int) + Map-reduce partition columns:_col0 (type: int) + sort order:+ + Statistics:Num rows: 1874 Data size: 3581903 Basic stats: COMPLETE Column stats: NONE + value expressions:_col5 (type: int), _col10 (type: string), _col11 (type: int), _col12 (type: string), _col13 (type: string), _col14 (type: string), _col15 (type: string), _col16 (type: string), _col17 (type: string), _col18 (type: string), _col19 (type: string) + Merge Join Operator [MERGEJOIN_65] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col3 (type: int)","1":"_col0 (type: int)"} + | outputColumnNames:["_col0","_col5","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19"] + | Statistics:Num rows: 1874 Data size: 3581903 Basic stats: COMPLETE Column stats: NONE + |<-Map 9 [SIMPLE_EDGE] + | Reduce Output Operator [RS_23] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE + | value expressions:_col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string), _col7 (type: string), _col8 (type: string), _col9 (type: string), _col10 (type: string) + | Select Operator [SEL_8] + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"] + | Statistics:Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE + | Filter Operator [FIL_61] + | predicate:s_store_sk is not null (type: boolean) + | Statistics:Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE + | TableScan [TS_6] + | alias:store + | Statistics:Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 2 [SIMPLE_EDGE] + Reduce Output Operator [RS_21] + key expressions:_col3 (type: int) + Map-reduce partition columns:_col3 (type: int) + sort order:+ + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + value expressions:_col0 (type: int), _col5 (type: int) + Merge Join Operator [MERGEJOIN_64] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col4 (type: int), _col1 (type: int), _col2 (type: int)","1":"_col3 (type: int), _col1 (type: int), _col2 (type: int)"} + | outputColumnNames:["_col0","_col3","_col5"] + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + |<-Map 1 [SIMPLE_EDGE] + | Reduce Output Operator [RS_16] + | key expressions:_col4 (type: int), _col1 (type: int), _col2 (type: int) + | Map-reduce partition columns:_col4 (type: int), _col1 (type: int), _col2 (type: int) + | sort order:+++ + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | value expressions:_col0 (type: int), _col3 (type: int) + | Select Operator [SEL_2] + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4"] + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | Filter Operator [FIL_59] + | predicate:((((ss_ticket_number is not null and ss_customer_sk is not null) and ss_item_sk is not null) and ss_store_sk is not null) and ss_sold_date_sk is not null) (type: boolean) + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | TableScan [TS_0] + | alias:store_sales + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + |<-Map 8 [SIMPLE_EDGE] + Reduce Output Operator [RS_18] + key expressions:_col3 (type: int), _col1 (type: int), _col2 (type: int) + Map-reduce partition columns:_col3 (type: int), _col1 (type: int), _col2 (type: int) + sort order:+++ + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + value expressions:_col0 (type: int) + Select Operator [SEL_5] + outputColumnNames:["_col0","_col1","_col2","_col3"] + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + Filter Operator [FIL_60] + predicate:(((sr_ticket_number is not null and sr_customer_sk is not null) and sr_item_sk is not null) and sr_returned_date_sk is not null) (type: boolean) + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + TableScan [TS_3] + alias:store_returns + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE +
http://git-wip-us.apache.org/repos/asf/hive/blob/09b6f9a3/ql/src/test/results/clientpositive/perf/query51.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/perf/query51.q.out b/ql/src/test/results/clientpositive/perf/query51.q.out new file mode 100644 index 0000000..a5b5f5e --- /dev/null +++ b/ql/src/test/results/clientpositive/perf/query51.q.out @@ -0,0 +1,283 @@ +PREHOOK: query: explain WITH web_v1 as ( +select + ws_item_sk item_sk, d_date, sum(ws_sales_price), + sum(sum(ws_sales_price)) + over (partition by ws_item_sk order by d_date rows between unbounded preceding and current row) cume_sales +from web_sales + ,date_dim +where ws_sold_date_sk=d_date_sk + and d_month_seq between 1193 and 1193+11 + and ws_item_sk is not NULL +group by ws_item_sk, d_date), +store_v1 as ( +select + ss_item_sk item_sk, d_date, sum(ss_sales_price), + sum(sum(ss_sales_price)) + over (partition by ss_item_sk order by d_date rows between unbounded preceding and current row) cume_sales +from store_sales + ,date_dim +where ss_sold_date_sk=d_date_sk + and d_month_seq between 1193 and 1193+11 + and ss_item_sk is not NULL +group by ss_item_sk, d_date) + select * +from (select item_sk + ,d_date + ,web_sales + ,store_sales + ,max(web_sales) + over (partition by item_sk order by d_date rows between unbounded preceding and current row) web_cumulative + ,max(store_sales) + over (partition by item_sk order by d_date rows between unbounded preceding and current row) store_cumulative + from (select case when web.item_sk is not null then web.item_sk else store.item_sk end item_sk + ,case when web.d_date is not null then web.d_date else store.d_date end d_date + ,web.cume_sales web_sales + ,store.cume_sales store_sales + from web_v1 web full outer join store_v1 store on (web.item_sk = store.item_sk + and web.d_date = store.d_date) + )x )y +where web_cumulative > store_cumulative +order by item_sk + ,d_date +limit 100 +PREHOOK: type: QUERY +POSTHOOK: query: explain WITH web_v1 as ( +select + ws_item_sk item_sk, d_date, sum(ws_sales_price), + sum(sum(ws_sales_price)) + over (partition by ws_item_sk order by d_date rows between unbounded preceding and current row) cume_sales +from web_sales + ,date_dim +where ws_sold_date_sk=d_date_sk + and d_month_seq between 1193 and 1193+11 + and ws_item_sk is not NULL +group by ws_item_sk, d_date), +store_v1 as ( +select + ss_item_sk item_sk, d_date, sum(ss_sales_price), + sum(sum(ss_sales_price)) + over (partition by ss_item_sk order by d_date rows between unbounded preceding and current row) cume_sales +from store_sales + ,date_dim +where ss_sold_date_sk=d_date_sk + and d_month_seq between 1193 and 1193+11 + and ss_item_sk is not NULL +group by ss_item_sk, d_date) + select * +from (select item_sk + ,d_date + ,web_sales + ,store_sales + ,max(web_sales) + over (partition by item_sk order by d_date rows between unbounded preceding and current row) web_cumulative + ,max(store_sales) + over (partition by item_sk order by d_date rows between unbounded preceding and current row) store_cumulative + from (select case when web.item_sk is not null then web.item_sk else store.item_sk end item_sk + ,case when web.d_date is not null then web.d_date else store.d_date end d_date + ,web.cume_sales web_sales + ,store.cume_sales store_sales + from web_v1 web full outer join store_v1 store on (web.item_sk = store.item_sk + and web.d_date = store.d_date) + )x )y +where web_cumulative > store_cumulative +order by item_sk + ,d_date +limit 100 +POSTHOOK: type: QUERY +Plan optimized by CBO. + +Vertex dependency in root stage +Reducer 10 <- Reducer 9 (SIMPLE_EDGE) +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE) +Reducer 3 <- Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Reducer 4 (SIMPLE_EDGE) +Reducer 6 <- Reducer 5 (SIMPLE_EDGE) +Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) + +Stage-0 + Fetch Operator + limit:100 + Stage-1 + Reducer 6 + File Output Operator [FS_55] + compressed:false + Statistics:Num rows: 100 Data size: 111900 Basic stats: COMPLETE Column stats: NONE + table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"} + Limit [LIM_54] + Number of rows:100 + Statistics:Num rows: 100 Data size: 111900 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_53] + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"] + | Statistics:Num rows: 7365 Data size: 8241815 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 5 [SIMPLE_EDGE] + Reduce Output Operator [RS_52] + key expressions:_col0 (type: int), _col1 (type: string) + sort order:++ + Statistics:Num rows: 7365 Data size: 8241815 Basic stats: COMPLETE Column stats: NONE + value expressions:_col2 (type: decimal(27,2)), _col3 (type: decimal(27,2)), _col4 (type: decimal(27,2)), _col5 (type: decimal(27,2)) + Select Operator [SEL_48] + outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"] + Statistics:Num rows: 7365 Data size: 8241815 Basic stats: COMPLETE Column stats: NONE + Filter Operator [FIL_60] + predicate:(max_window_0 > max_window_1) (type: boolean) + Statistics:Num rows: 7365 Data size: 8241815 Basic stats: COMPLETE Column stats: NONE + PTF Operator [PTF_47] + Function definitions:[{"Input definition":{"type:":"WINDOWING"}},{"name:":"windowingtablefunction","order by:":"CASE WHEN (_col1 is not null) THEN (_col1) ELSE (_col4) END","partition by:":"CASE WHEN (_col0 is not null) THEN (_col0) ELSE (_col3) END"}] + Statistics:Num rows: 22096 Data size: 24726566 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_46] + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"] + | Statistics:Num rows: 22096 Data size: 24726566 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 4 [SIMPLE_EDGE] + Reduce Output Operator [RS_45] + key expressions:CASE WHEN (_col0 is not null) THEN (_col0) ELSE (_col3) END (type: int), CASE WHEN (_col1 is not null) THEN (_col1) ELSE (_col4) END (type: string) + Map-reduce partition columns:CASE WHEN (_col0 is not null) THEN (_col0) ELSE (_col3) END (type: int) + sort order:++ + Statistics:Num rows: 22096 Data size: 24726566 Basic stats: COMPLETE Column stats: NONE + value expressions:_col0 (type: int), _col1 (type: string), _col2 (type: decimal(27,2)), _col3 (type: int), _col4 (type: string), _col5 (type: decimal(27,2)) + Merge Join Operator [MERGEJOIN_69] + | condition map:[{"":"Outer Join 0 to 1"}] + | keys:{"0":"_col0 (type: int), _col1 (type: string)","1":"_col0 (type: int), _col1 (type: string)"} + | outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"] + | Statistics:Num rows: 22096 Data size: 24726566 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 10 [SIMPLE_EDGE] + | Reduce Output Operator [RS_43] + | key expressions:_col0 (type: int), _col1 (type: string) + | Map-reduce partition columns:_col0 (type: int), _col1 (type: string) + | sort order:++ + | Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + | value expressions:_col2 (type: decimal(27,2)) + | Select Operator [SEL_39] + | outputColumnNames:["_col0","_col1","_col2"] + | Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + | PTF Operator [PTF_38] + | Function definitions:[{"Input definition":{"type:":"WINDOWING"}},{"name:":"windowingtablefunction","order by:":"_col1","partition by:":"_col0"}] + | Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + | Group By Operator [GBY_35] + | | aggregations:["sum(VALUE._col0)"] + | | keys:KEY._col0 (type: int), KEY._col1 (type: string) + | | outputColumnNames:["_col0","_col1","_col2"] + | | Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + | |<-Reducer 9 [SIMPLE_EDGE] + | Reduce Output Operator [RS_34] + | key expressions:_col0 (type: int), _col1 (type: string) + | Map-reduce partition columns:_col0 (type: int) + | sort order:++ + | Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + | value expressions:_col2 (type: decimal(17,2)) + | Group By Operator [GBY_33] + | aggregations:["sum(_col2)"] + | keys:_col1 (type: int), _col4 (type: string) + | outputColumnNames:["_col0","_col1","_col2"] + | Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + | Select Operator [SEL_32] + | outputColumnNames:["_col1","_col4","_col2"] + | Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + | Merge Join Operator [MERGEJOIN_68] + | | condition map:[{"":"Inner Join 0 to 1"}] + | | keys:{"0":"_col0 (type: int)","1":"_col0 (type: int)"} + | | outputColumnNames:["_col1","_col2","_col4"] + | | Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + | |<-Map 11 [SIMPLE_EDGE] + | | Reduce Output Operator [RS_30] + | | key expressions:_col0 (type: int) + | | Map-reduce partition columns:_col0 (type: int) + | | sort order:+ + | | Statistics:Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE + | | value expressions:_col1 (type: string) + | | Select Operator [SEL_26] + | | outputColumnNames:["_col0","_col1"] + | | Statistics:Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE + | | Filter Operator [FIL_64] + | | predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null) (type: boolean) + | | Statistics:Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE + | | TableScan [TS_24] + | | alias:date_dim + | | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + | |<-Map 8 [SIMPLE_EDGE] + | Reduce Output Operator [RS_28] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | value expressions:_col1 (type: int), _col2 (type: decimal(7,2)) + | Select Operator [SEL_23] + | outputColumnNames:["_col0","_col1","_col2"] + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | Filter Operator [FIL_63] + | predicate:(ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean) + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | TableScan [TS_21] + | alias:store_sales + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + |<-Reducer 3 [SIMPLE_EDGE] + Reduce Output Operator [RS_42] + key expressions:_col0 (type: int), _col1 (type: string) + Map-reduce partition columns:_col0 (type: int), _col1 (type: string) + sort order:++ + Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + value expressions:_col2 (type: decimal(27,2)) + Select Operator [SEL_18] + outputColumnNames:["_col0","_col1","_col2"] + Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + PTF Operator [PTF_17] + Function definitions:[{"Input definition":{"type:":"WINDOWING"}},{"name:":"windowingtablefunction","order by:":"_col1","partition by:":"_col0"}] + Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + Group By Operator [GBY_14] + | aggregations:["sum(VALUE._col0)"] + | keys:KEY._col0 (type: int), KEY._col1 (type: string) + | outputColumnNames:["_col0","_col1","_col2"] + | Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 2 [SIMPLE_EDGE] + Reduce Output Operator [RS_13] + key expressions:_col0 (type: int), _col1 (type: string) + Map-reduce partition columns:_col0 (type: int) + sort order:++ + Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + value expressions:_col2 (type: decimal(17,2)) + Group By Operator [GBY_12] + aggregations:["sum(_col2)"] + keys:_col1 (type: int), _col4 (type: string) + outputColumnNames:["_col0","_col1","_col2"] + Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_11] + outputColumnNames:["_col1","_col4","_col2"] + Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + Merge Join Operator [MERGEJOIN_67] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col0 (type: int)","1":"_col0 (type: int)"} + | outputColumnNames:["_col1","_col2","_col4"] + | Statistics:Num rows: 40176 Data size: 44957392 Basic stats: COMPLETE Column stats: NONE + |<-Map 1 [SIMPLE_EDGE] + | Reduce Output Operator [RS_7] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | value expressions:_col1 (type: int), _col2 (type: decimal(7,2)) + | Select Operator [SEL_2] + | outputColumnNames:["_col0","_col1","_col2"] + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | Filter Operator [FIL_61] + | predicate:(ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean) + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + | TableScan [TS_0] + | alias:web_sales + | Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + |<-Map 7 [SIMPLE_EDGE] + Reduce Output Operator [RS_9] + key expressions:_col0 (type: int) + Map-reduce partition columns:_col0 (type: int) + sort order:+ + Statistics:Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE + value expressions:_col1 (type: string) + Select Operator [SEL_5] + outputColumnNames:["_col0","_col1"] + Statistics:Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE + Filter Operator [FIL_62] + predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null) (type: boolean) + Statistics:Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE + TableScan [TS_3] + alias:date_dim + Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + http://git-wip-us.apache.org/repos/asf/hive/blob/09b6f9a3/ql/src/test/results/clientpositive/perf/query52.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/perf/query52.q.out b/ql/src/test/results/clientpositive/perf/query52.q.out new file mode 100644 index 0000000..ac0c1e6 --- /dev/null +++ b/ql/src/test/results/clientpositive/perf/query52.q.out @@ -0,0 +1,118 @@ +PREHOOK: query: explain select dt.d_year ,item.i_brand_id brand_id ,item.i_brand brand ,sum(ss_ext_sales_price) ext_price from date_dim dt ,store_sales ,item where dt.d_date_sk = store_sales.ss_sold_date_sk and store_sales.ss_item_sk = item.i_item_sk and item.i_manager_id = 1 and dt.d_moy=12 and dt.d_year=1998 group by dt.d_year ,item.i_brand ,item.i_brand_id order by dt.d_year ,ext_price desc ,brand_id limit 100 +PREHOOK: type: QUERY +POSTHOOK: query: explain select dt.d_year ,item.i_brand_id brand_id ,item.i_brand brand ,sum(ss_ext_sales_price) ext_price from date_dim dt ,store_sales ,item where dt.d_date_sk = store_sales.ss_sold_date_sk and store_sales.ss_item_sk = item.i_item_sk and item.i_manager_id = 1 and dt.d_moy=12 and dt.d_year=1998 group by dt.d_year ,item.i_brand ,item.i_brand_id order by dt.d_year ,ext_price desc ,brand_id limit 100 +POSTHOOK: type: QUERY +Plan optimized by CBO. + +Vertex dependency in root stage +Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE) +Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) +Reducer 4 <- Reducer 3 (SIMPLE_EDGE) +Reducer 5 <- Reducer 4 (SIMPLE_EDGE) + +Stage-0 + Fetch Operator + limit:100 + Stage-1 + Reducer 5 + File Output Operator [FS_28] + compressed:false + Statistics:Num rows: 100 Data size: 143600 Basic stats: COMPLETE Column stats: NONE + table:{"input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"} + Limit [LIM_27] + Number of rows:100 + Statistics:Num rows: 100 Data size: 143600 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_26] + | outputColumnNames:["_col0","_col1","_col2","_col3"] + | Statistics:Num rows: 127050 Data size: 182479129 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 4 [SIMPLE_EDGE] + Reduce Output Operator [RS_25] + key expressions:_col0 (type: int), _col3 (type: decimal(17,2)), _col1 (type: int) + sort order:+-+ + Statistics:Num rows: 127050 Data size: 182479129 Basic stats: COMPLETE Column stats: NONE + value expressions:_col2 (type: string) + Group By Operator [GBY_22] + | aggregations:["sum(VALUE._col0)"] + | keys:KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: string) + | outputColumnNames:["_col0","_col1","_col2","_col3"] + | Statistics:Num rows: 127050 Data size: 182479129 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 3 [SIMPLE_EDGE] + Reduce Output Operator [RS_21] + key expressions:_col0 (type: int), _col1 (type: int), _col2 (type: string) + Map-reduce partition columns:_col0 (type: int), _col1 (type: int), _col2 (type: string) + sort order:+++ + Statistics:Num rows: 254100 Data size: 364958258 Basic stats: COMPLETE Column stats: NONE + value expressions:_col3 (type: decimal(17,2)) + Group By Operator [GBY_20] + aggregations:["sum(_col5)"] + keys:_col1 (type: int), _col7 (type: int), _col8 (type: string) + outputColumnNames:["_col0","_col1","_col2","_col3"] + Statistics:Num rows: 254100 Data size: 364958258 Basic stats: COMPLETE Column stats: NONE + Select Operator [SEL_19] + outputColumnNames:["_col1","_col7","_col8","_col5"] + Statistics:Num rows: 254100 Data size: 364958258 Basic stats: COMPLETE Column stats: NONE + Merge Join Operator [MERGEJOIN_38] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col4 (type: int)","1":"_col0 (type: int)"} + | outputColumnNames:["_col5","_col7","_col8"] + | Statistics:Num rows: 254100 Data size: 364958258 Basic stats: COMPLETE Column stats: NONE + |<-Map 7 [SIMPLE_EDGE] + | Reduce Output Operator [RS_17] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + | value expressions:_col1 (type: int), _col2 (type: string) + | Select Operator [SEL_8] + | outputColumnNames:["_col0","_col1","_col2"] + | Statistics:Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + | Filter Operator [FIL_36] + | predicate:((i_manager_id = 1) and i_item_sk is not null) (type: boolean) + | Statistics:Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE + | TableScan [TS_6] + | alias:item + | Statistics:Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE + |<-Reducer 2 [SIMPLE_EDGE] + Reduce Output Operator [RS_15] + key expressions:_col4 (type: int) + Map-reduce partition columns:_col4 (type: int) + sort order:+ + Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + value expressions:_col5 (type: decimal(7,2)) + Merge Join Operator [MERGEJOIN_37] + | condition map:[{"":"Inner Join 0 to 1"}] + | keys:{"0":"_col0 (type: int)","1":"_col0 (type: int)"} + | outputColumnNames:["_col4","_col5"] + | Statistics:Num rows: 20088 Data size: 22478696 Basic stats: COMPLETE Column stats: NONE + |<-Map 1 [SIMPLE_EDGE] + | Reduce Output Operator [RS_10] + | key expressions:_col0 (type: int) + | Map-reduce partition columns:_col0 (type: int) + | sort order:+ + | Statistics:Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + | Select Operator [SEL_2] + | outputColumnNames:["_col0"] + | Statistics:Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + | Filter Operator [FIL_34] + | predicate:(((d_year = 1998) and (d_moy = 12)) and d_date_sk is not null) (type: boolean) + | Statistics:Num rows: 18262 Data size: 20435178 Basic stats: COMPLETE Column stats: NONE + | TableScan [TS_0] + | alias:dt + | Statistics:Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE + |<-Map 6 [SIMPLE_EDGE] + Reduce Output Operator [RS_12] + key expressions:_col0 (type: int) + Map-reduce partition columns:_col0 (type: int) + sort order:+ + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + value expressions:_col1 (type: int), _col2 (type: decimal(7,2)) + Select Operator [SEL_5] + outputColumnNames:["_col0","_col1","_col2"] + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + Filter Operator [FIL_35] + predicate:(ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean) + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE + TableScan [TS_3] + alias:store_sales + Statistics:Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE +