[ https://issues.apache.org/jira/browse/HIVE-7913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14241866#comment-14241866 ]
Mostafa Mokhtar commented on HIVE-7913: --------------------------------------- [~jpullokkaran] Looks like this is still an issue, some of the filters can be pushed down to the scan. {code} set hive.cbo.enable=true set hive.stats.fetch.column.stats=true set hive.exec.dynamic.partition.mode=nonstrict set hive.tez.auto.reducer.parallelism=true set hive.auto.convert.join.noconditionaltask.size=320000000 set hive.exec.reducers.bytes.per.reducer=100000000 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager set hive.support.concurrency=false set hive.tez.exec.print.summary=true explain select substr(r_reason_desc,1,20) as r ,avg(ws_quantity) wq ,avg(wr_refunded_cash) ref ,avg(wr_fee) fee from web_sales, web_returns, web_page, customer_demographics cd1, customer_demographics cd2, customer_address, date_dim, reason where web_sales.ws_web_page_sk = web_page.wp_web_page_sk and web_sales.ws_item_sk = web_returns.wr_item_sk and web_sales.ws_order_number = web_returns.wr_order_number and web_sales.ws_sold_date_sk = date_dim.d_date_sk and d_year = 1998 and cd1.cd_demo_sk = web_returns.wr_refunded_cdemo_sk and cd2.cd_demo_sk = web_returns.wr_returning_cdemo_sk and customer_address.ca_address_sk = web_returns.wr_refunded_addr_sk and reason.r_reason_sk = web_returns.wr_reason_sk and ( ( cd1.cd_marital_status = 'M' and cd1.cd_marital_status = cd2.cd_marital_status and cd1.cd_education_status = '4 yr Degree' and cd1.cd_education_status = cd2.cd_education_status and ws_sales_price between 100.00 and 150.00 ) or ( cd1.cd_marital_status = 'D' and cd1.cd_marital_status = cd2.cd_marital_status and cd1.cd_education_status = 'Primary' and cd1.cd_education_status = cd2.cd_education_status and ws_sales_price between 50.00 and 100.00 ) or ( cd1.cd_marital_status = 'U' and cd1.cd_marital_status = cd2.cd_marital_status and cd1.cd_education_status = 'Advanced Degree' and cd1.cd_education_status = cd2.cd_education_status and ws_sales_price between 150.00 and 200.00 ) ) and ( ( ca_country = 'United States' and ca_state in ('KY', 'GA', 'NM') and ws_net_profit between 100 and 200 ) or ( ca_country = 'United States' and ca_state in ('MT', 'OR', 'IN') and ws_net_profit between 150 and 300 ) or ( ca_country = 'United States' and ca_state in ('WI', 'MO', 'WV') and ws_net_profit between 50 and 250 ) ) group by r_reason_desc order by r, wq, ref, fee limit 100 OK STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 STAGE PLANS: Stage: Stage-1 Tez Edges: Map 9 <- Map 1 (BROADCAST_EDGE) Reducer 3 <- Map 13 (SIMPLE_EDGE), Map 2 (SIMPLE_EDGE) Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 11 (BROADCAST_EDGE), Map 12 (BROADCAST_EDGE), Reducer 5 (SIMPLE_EDGE) Reducer 7 <- Reducer 6 (SIMPLE_EDGE) Reducer 8 <- Reducer 7 (SIMPLE_EDGE) DagName: mmokhtar_20141111161818_f5fd23ba-d783-4b13-8507-7faa65851798:1 Vertices: Map 1 Map Operator Tree: TableScan alias: web_page filterExpr: wp_web_page_sk is not null (type: boolean) Statistics: Num rows: 4602 Data size: 2696178 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: wp_web_page_sk is not null (type: boolean) Statistics: Num rows: 4602 Data size: 18408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: wp_web_page_sk (type: int) outputColumnNames: _col0 Statistics: Num rows: 4602 Data size: 18408 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 4602 Data size: 18408 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: vectorized Map 10 Map Operator Tree: TableScan alias: customer_address filterExpr: ((ca_country = 'United States') and ca_address_sk is not null) (type: boolean) Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((ca_country = 'United States') and ca_address_sk is not null) (type: boolean) Statistics: Num rows: 20000000 Data size: 3740000000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ca_address_sk (type: int), ca_state (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 20000000 Data size: 1800000000 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 20000000 Data size: 1800000000 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string) Execution mode: vectorized Map 11 Map Operator Tree: TableScan alias: date_dim filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean) Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean) Statistics: Num rows: 652 Data size: 5216 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: d_date_sk (type: int) outputColumnNames: _col0 Statistics: Num rows: 652 Data size: 2608 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 652 Data size: 2608 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) outputColumnNames: _col0 Statistics: Num rows: 652 Data size: 2608 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: _col0 (type: int) mode: hash outputColumnNames: _col0 Statistics: Num rows: 326 Data size: 1304 Basic stats: COMPLETE Column stats: COMPLETE Dynamic Partitioning Event Operator Target Input: web_sales Partition key expr: ws_sold_date_sk Statistics: Num rows: 326 Data size: 1304 Basic stats: COMPLETE Column stats: COMPLETE Target column: ws_sold_date_sk Target Vertex: Map 9 Execution mode: vectorized Map 12 Map Operator Tree: TableScan alias: reason filterExpr: r_reason_sk is not null (type: boolean) Statistics: Num rows: 72 Data size: 14400 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: r_reason_sk is not null (type: boolean) Statistics: Num rows: 72 Data size: 7272 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: r_reason_sk (type: int), r_reason_desc (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 72 Data size: 7272 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 72 Data size: 7272 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string) Execution mode: vectorized Map 13 Map Operator Tree: TableScan alias: web_returns filterExpr: (((((wr_refunded_cdemo_sk is not null and wr_item_sk is not null) and wr_order_number is not null) and wr_returning_cdemo_sk is not null) and wr_refunded_addr_sk is not null) and wr_reason_sk is not null) (type: boolean) Statistics: Num rows: 2062802370 Data size: 185695406284 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((((wr_refunded_cdemo_sk is not null and wr_item_sk is not null) and wr_order_number is not null) and wr_returning_cdemo_sk is not null) and wr_refunded_addr_sk is not null) and wr_reason_sk is not null) (type: boolean) Statistics: Num rows: 1875154722 Data size: 58944640412 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: wr_item_sk (type: int), wr_refunded_cdemo_sk (type: int), wr_refunded_addr_sk (type: int), wr_returning_cdemo_sk (type: int), wr_reason_sk (type: int), wr_order_number (type: int), wr_fee (type: float), wr_refunded_cash (type: float) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 Statistics: Num rows: 1875154722 Data size: 58944640412 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col1 (type: int) sort order: + Map-reduce partition columns: _col1 (type: int) Statistics: Num rows: 1875154722 Data size: 58944640412 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int), _col6 (type: float), _col7 (type: float) Execution mode: vectorized Map 14 Map Operator Tree: TableScan alias: cd1 filterExpr: ((cd_demo_sk is not null and cd_marital_status is not null) and cd_education_status is not null) (type: boolean) Statistics: Num rows: 1920800 Data size: 718379200 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((cd_demo_sk is not null and cd_marital_status is not null) and cd_education_status is not null) (type: boolean) Statistics: Num rows: 1920800 Data size: 351506400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cd_demo_sk (type: int), cd_marital_status (type: string), cd_education_status (type: string) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1920800 Data size: 351506400 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string) sort order: +++ Map-reduce partition columns: _col0 (type: int), _col1 (type: string), _col2 (type: string) Statistics: Num rows: 1920800 Data size: 351506400 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: vectorized Map 2 Map Operator Tree: TableScan alias: cd1 filterExpr: ((cd_demo_sk is not null and cd_marital_status is not null) and cd_education_status is not null) (type: boolean) Statistics: Num rows: 1920800 Data size: 718379200 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((cd_demo_sk is not null and cd_marital_status is not null) and cd_education_status is not null) (type: boolean) Statistics: Num rows: 1920800 Data size: 351506400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cd_demo_sk (type: int), cd_marital_status (type: string), cd_education_status (type: string) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1920800 Data size: 351506400 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 1920800 Data size: 351506400 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string), _col2 (type: string) Execution mode: vectorized Map 9 Map Operator Tree: TableScan alias: web_sales filterExpr: ((ws_web_page_sk is not null and ws_item_sk is not null) and ws_order_number is not null) (type: boolean) Statistics: Num rows: 21594638446 Data size: 2850189889652 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((ws_web_page_sk is not null and ws_item_sk is not null) and ws_order_number is not null) (type: boolean) Statistics: Num rows: 21591939929 Data size: 604541956128 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ws_item_sk (type: int), ws_web_page_sk (type: int), ws_order_number (type: int), ws_quantity (type: int), ws_sales_price (type: float), ws_net_profit (type: float), ws_sold_date_sk (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 21591939929 Data size: 604541956128 Basic stats: COMPLETE Column stats: COMPLETE Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {_col0} {_col2} {_col3} {_col4} {_col5} {_col6} 1 keys: 0 _col1 (type: int) 1 _col0 (type: int) outputColumnNames: _col0, _col2, _col3, _col4, _col5, _col6 input vertices: 1 Map 1 Statistics: Num rows: 21591939072 Data size: 518206537728 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int), _col2 (type: int) sort order: ++ Map-reduce partition columns: _col0 (type: int), _col2 (type: int) Statistics: Num rows: 21591939072 Data size: 518206537728 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col3 (type: int), _col4 (type: float), _col5 (type: float), _col6 (type: int) Execution mode: vectorized Reducer 3 Reduce Operator Tree: Merge Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} {VALUE._col1} {VALUE._col2} {VALUE._col3} {VALUE._col4} {VALUE._col5} {VALUE._col6} 1 {VALUE._col0} {VALUE._col1} outputColumnNames: _col0, _col2, _col3, _col4, _col5, _col6, _col7, _col9, _col10 Statistics: Num rows: 1875154688 Data size: 373155782912 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col10 (type: string), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int), _col6 (type: float), _col7 (type: float), _col9 (type: string) outputColumnNames: _col0, _col10, _col2, _col3, _col4, _col5, _col6, _col7, _col9 Statistics: Num rows: 1875154688 Data size: 373155782912 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int), _col5 (type: int) sort order: ++ Map-reduce partition columns: _col0 (type: int), _col5 (type: int) Statistics: Num rows: 1875154688 Data size: 373155782912 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col2 (type: int), _col3 (type: int), _col4 (type: int), _col6 (type: float), _col7 (type: float), _col9 (type: string), _col10 (type: string) Reducer 4 Reduce Operator Tree: Merge Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col1} {VALUE._col2} {VALUE._col3} {VALUE._col4} 1 {VALUE._col1} {VALUE._col2} {VALUE._col3} {VALUE._col4} {VALUE._col5} {VALUE._col7} {VALUE._col8} outputColumnNames: _col3, _col4, _col5, _col6, _col10, _col11, _col12, _col14, _col15, _col17, _col18 Statistics: Num rows: 57653145 Data size: 11472975855 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((_col17 = 'M') and ((_col18 = '4 yr Degree') and _col4 BETWEEN 100.0 AND 150.0)) or (((_col17 = 'D') and ((_col18 = 'Primary') and _col4 BETWEEN 50.0 AND 100.0)) or ((_col17 = 'U') and ((_col18 = 'Advanced Degree') and _col4 BETWEEN 150.0 AND 200.0)))) (type: boolean) Statistics: Num rows: 57653145 Data size: 11472975855 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col11 (type: int), _col12 (type: int), _col14 (type: float), _col15 (type: float), _col17 (type: string), _col18 (type: string), _col3 (type: int), _col5 (type: float), _col6 (type: int), _col10 (type: int) outputColumnNames: _col10, _col11, _col13, _col14, _col17, _col18, _col3, _col5, _col6, _col9 Statistics: Num rows: 57653145 Data size: 11472975855 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col10 (type: int), _col17 (type: string), _col18 (type: string) sort order: +++ Map-reduce partition columns: _col10 (type: int), _col17 (type: string), _col18 (type: string) Statistics: Num rows: 57653145 Data size: 11472975855 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col3 (type: int), _col5 (type: float), _col6 (type: int), _col9 (type: int), _col11 (type: int), _col13 (type: float), _col14 (type: float) Reducer 5 Reduce Operator Tree: Merge Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 1 {VALUE._col3} {VALUE._col5} {VALUE._col6} {VALUE._col9} {VALUE._col10} {VALUE._col12} {VALUE._col13} outputColumnNames: _col6, _col8, _col9, _col12, _col14, _col16, _col17 Statistics: Num rows: 3187317548 Data size: 50997080768 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col12 (type: int), _col14 (type: int), _col16 (type: float), _col17 (type: float), _col6 (type: int), _col8 (type: float), _col9 (type: int) outputColumnNames: _col12, _col14, _col16, _col17, _col6, _col8, _col9 Statistics: Num rows: 3187317548 Data size: 50997080768 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col12 (type: int) sort order: + Map-reduce partition columns: _col12 (type: int) Statistics: Num rows: 3187317548 Data size: 50997080768 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col6 (type: int), _col8 (type: float), _col9 (type: int), _col14 (type: int), _col16 (type: float), _col17 (type: float) Reducer 6 Reduce Operator Tree: Merge Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col6} {VALUE._col8} {VALUE._col9} {VALUE._col13} {VALUE._col15} {VALUE._col16} outputColumnNames: _col1, _col9, _col11, _col12, _col17, _col19, _col20 Statistics: Num rows: 1593658752 Data size: 156178557696 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((_col1) IN ('KY', 'GA', 'NM') and _col11 BETWEEN 100 AND 200) or (((_col1) IN ('MT', 'OR', 'IN') and _col11 BETWEEN 150 AND 300) or ((_col1) IN ('WI', 'MO', 'WV') and _col11 BETWEEN 50 AND 250))) (type: boolean) Statistics: Num rows: 1195244064 Data size: 117133918272 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col17 (type: int), _col19 (type: float), _col20 (type: float), _col9 (type: int), _col12 (type: int) outputColumnNames: _col11, _col13, _col14, _col3, _col6 Statistics: Num rows: 1195244064 Data size: 14342928768 Basic stats: COMPLETE Column stats: COMPLETE Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 1 {_col3} {_col11} {_col13} {_col14} keys: 0 _col0 (type: int) 1 _col6 (type: int) outputColumnNames: _col5, _col13, _col15, _col16 input vertices: 0 Map 11 Statistics: Num rows: 1334416318 Data size: 16012995816 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col13 (type: int), _col15 (type: float), _col16 (type: float), _col5 (type: int) outputColumnNames: _col13, _col15, _col16, _col5 Statistics: Num rows: 1334416318 Data size: 16012995816 Basic stats: COMPLETE Column stats: COMPLETE Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {_col1} 1 {_col5} {_col15} {_col16} keys: 0 _col0 (type: int) 1 _col13 (type: int) outputColumnNames: _col1, _col7, _col17, _col18 input vertices: 0 Map 12 Statistics: Num rows: 1334416256 Data size: 140113706880 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: string), _col7 (type: int), _col18 (type: float), _col17 (type: float) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1334416256 Data size: 140113706880 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: avg(_col1), avg(_col2), avg(_col3) keys: _col0 (type: string) mode: hash outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 157024 Data size: 15231328 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: string) sort order: + Map-reduce partition columns: _col0 (type: string) Statistics: Num rows: 157024 Data size: 15231328 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: struct<count:bigint,sum:double,input:int>), _col2 (type: struct<count:bigint,sum:double,input:float>), _col3 (type: struct<count:bigint,sum:double,input:float>) Reducer 7 Reduce Operator Tree: Group By Operator aggregations: avg(VALUE._col0), avg(VALUE._col1), avg(VALUE._col2) keys: KEY._col0 (type: string) mode: mergepartial outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 112 Data size: 13552 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: substr(_col0, 1, 20) (type: string), _col1 (type: double), _col2 (type: double), _col3 (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 112 Data size: 23296 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: string), _col1 (type: double), _col2 (type: double), _col3 (type: double) sort order: ++++ Statistics: Num rows: 112 Data size: 23296 Basic stats: COMPLETE Column stats: COMPLETE TopN Hash Memory Usage: 0.04 Reducer 8 Reduce Operator Tree: Select Operator expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: double), KEY.reducesinkkey3 (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 112 Data size: 23296 Basic stats: COMPLETE Column stats: COMPLETE Limit Number of rows: 100 Statistics: Num rows: 100 Data size: 20800 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false Statistics: Num rows: 100 Data size: 20800 Basic stats: COMPLETE Column stats: COMPLETE 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 Execution mode: vectorized Stage: Stage-0 Fetch Operator limit: 100 Processor Tree: ListSink {code} > Simplify filter predicates for CBO > ---------------------------------- > > Key: HIVE-7913 > URL: https://issues.apache.org/jira/browse/HIVE-7913 > Project: Hive > Issue Type: Bug > Components: CBO > Affects Versions: 0.13.1 > Reporter: Mostafa Mokhtar > Assignee: Laljo John Pullokkaran > Fix For: 0.14.0 > > > Simplify predicates for disjunctive predicates so that can get pushed down to > the scan. > For TPC-DS query 13 we push down predicates in the following form > where c_martial_status in ('M','D','U') etc.. > {code} > select avg(ss_quantity) > ,avg(ss_ext_sales_price) > ,avg(ss_ext_wholesale_cost) > ,sum(ss_ext_wholesale_cost) > from store_sales > ,store > ,customer_demographics > ,household_demographics > ,customer_address > ,date_dim > where store.s_store_sk = store_sales.ss_store_sk > and store_sales.ss_sold_date_sk = date_dim.d_date_sk and date_dim.d_year = > 2001 > and((store_sales.ss_hdemo_sk=household_demographics.hd_demo_sk > and customer_demographics.cd_demo_sk = store_sales.ss_cdemo_sk > and customer_demographics.cd_marital_status = 'M' > and customer_demographics.cd_education_status = '4 yr Degree' > and store_sales.ss_sales_price between 100.00 and 150.00 > and household_demographics.hd_dep_count = 3 > )or > (store_sales.ss_hdemo_sk=household_demographics.hd_demo_sk > and customer_demographics.cd_demo_sk = store_sales.ss_cdemo_sk > and customer_demographics.cd_marital_status = 'D' > and customer_demographics.cd_education_status = 'Primary' > and store_sales.ss_sales_price between 50.00 and 100.00 > and household_demographics.hd_dep_count = 1 > ) or > (store_sales.ss_hdemo_sk=household_demographics.hd_demo_sk > and customer_demographics.cd_demo_sk = ss_cdemo_sk > and customer_demographics.cd_marital_status = 'U' > and customer_demographics.cd_education_status = 'Advanced Degree' > and store_sales.ss_sales_price between 150.00 and 200.00 > and household_demographics.hd_dep_count = 1 > )) > and((store_sales.ss_addr_sk = customer_address.ca_address_sk > and customer_address.ca_country = 'United States' > and customer_address.ca_state in ('KY', 'GA', 'NM') > and store_sales.ss_net_profit between 100 and 200 > ) or > (store_sales.ss_addr_sk = customer_address.ca_address_sk > and customer_address.ca_country = 'United States' > and customer_address.ca_state in ('MT', 'OR', 'IN') > and store_sales.ss_net_profit between 150 and 300 > ) or > (store_sales.ss_addr_sk = customer_address.ca_address_sk > and customer_address.ca_country = 'United States' > and customer_address.ca_state in ('WI', 'MO', 'WV') > and store_sales.ss_net_profit between 50 and 250 > )) > ; > {code} > This is the plan currently generated without any predicate simplification > {code} > STAGE DEPENDENCIES: > Stage-1 is a root stage > Stage-0 depends on stages: Stage-1 > STAGE PLANS: > Stage: Stage-1 > Tez > Edges: > Map 7 <- Map 8 (BROADCAST_EDGE) > Map 8 <- Map 5 (BROADCAST_EDGE), Map 6 (BROADCAST_EDGE) > Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (BROADCAST_EDGE), Map 7 > (SIMPLE_EDGE) > Reducer 3 <- Reducer 2 (SIMPLE_EDGE) > DagName: mmokhtar_20140828155050_7059c24b-501b-4683-86c0-4f3c023f0b0e:1 > Vertices: > Map 1 > Map Operator Tree: > TableScan > alias: customer_address > Statistics: Num rows: 40000000 Data size: 40595195284 Basic > stats: COMPLETE Column stats: NONE > Select Operator > expressions: ca_address_sk (type: int), ca_state (type: > string), ca_country (type: string) > outputColumnNames: _col0, _col1, _col2 > Statistics: Num rows: 40000000 Data size: 40595195284 > Basic stats: COMPLETE Column stats: NONE > Reduce Output Operator > sort order: > Statistics: Num rows: 40000000 Data size: 40595195284 > Basic stats: COMPLETE Column stats: NONE > value expressions: _col0 (type: int), _col1 (type: > string), _col2 (type: string) > Execution mode: vectorized > Map 4 > Map Operator Tree: > TableScan > alias: date_dim > filterExpr: ((d_year = 2001) and d_date_sk is not null) > (type: boolean) > Statistics: Num rows: 73049 Data size: 81741831 Basic > stats: COMPLETE Column stats: NONE > Filter Operator > predicate: ((d_year = 2001) and d_date_sk is not null) > (type: boolean) > Statistics: Num rows: 18262 Data size: 20435178 Basic > stats: COMPLETE Column stats: NONE > Select Operator > expressions: d_date_sk (type: int) > outputColumnNames: _col0 > Statistics: Num rows: 18262 Data size: 20435178 Basic > stats: COMPLETE Column stats: NONE > Reduce Output Operator > key expressions: _col0 (type: int) > sort order: + > Map-reduce partition columns: _col0 (type: int) > Statistics: Num rows: 18262 Data size: 20435178 Basic > stats: COMPLETE Column stats: NONE > Execution mode: vectorized > Map 5 > Map Operator Tree: > TableScan > alias: household_demographics > Statistics: Num rows: 7200 Data size: 770400 Basic stats: > COMPLETE Column stats: NONE > Select Operator > expressions: hd_demo_sk (type: int), hd_dep_count (type: > int) > outputColumnNames: _col0, _col1 > Statistics: Num rows: 7200 Data size: 770400 Basic stats: > COMPLETE Column stats: NONE > Reduce Output Operator > sort order: > Statistics: Num rows: 7200 Data size: 770400 Basic > stats: COMPLETE Column stats: NONE > value expressions: _col0 (type: int), _col1 (type: int) > Execution mode: vectorized > Map 6 > Map Operator Tree: > TableScan > alias: store > filterExpr: (true and s_store_sk is not null) (type: > boolean) > Statistics: Num rows: 1704 Data size: 3256276 Basic stats: > COMPLETE Column stats: NONE > Filter Operator > predicate: s_store_sk is not null (type: boolean) > Statistics: Num rows: 852 Data size: 1628138 Basic stats: > COMPLETE Column stats: NONE > Select Operator > expressions: s_store_sk (type: int) > outputColumnNames: _col0 > Statistics: Num rows: 852 Data size: 1628138 Basic > stats: COMPLETE Column stats: NONE > Reduce Output Operator > sort order: > Statistics: Num rows: 852 Data size: 1628138 Basic > stats: COMPLETE Column stats: NONE > value expressions: _col0 (type: int) > Execution mode: vectorized > Map 7 > Map Operator Tree: > TableScan > alias: store_sales > filterExpr: (ss_store_sk is not null and ss_sold_date_sk is > not null) (type: boolean) > Statistics: Num rows: 82510879939 Data size: 7203833257964 > Basic stats: COMPLETE Column stats: NONE > Filter Operator > predicate: (ss_store_sk is not null and ss_sold_date_sk > is not null) (type: boolean) > Statistics: Num rows: 20627719985 Data size: > 1800958314512 Basic stats: COMPLETE Column stats: NONE > Select Operator > expressions: ss_sold_date_sk (type: int), ss_cdemo_sk > (type: int), ss_hdemo_sk (type: int), ss_addr_sk (type: int), ss_store_sk > (type: int), ss_quantity (type: int), ss_sales_price (type: float), > ss_ext_sales_price (type: float), ss_ext_wholesale_cost (type: float), > ss_net_profit (type: float) > outputColumnNames: _col0, _col1, _col2, _col3, _col4, > _col5, _col6, _col7, _col8, _col9 > Statistics: Num rows: 20627719985 Data size: > 1800958314512 Basic stats: COMPLETE Column stats: NONE > Map Join Operator > condition map: > Inner Join 0 to 1 > condition expressions: > 0 {_col0} {_col1} {_col2} {_col4} {_col5} > 1 {_col0} {_col1} {_col2} {_col3} {_col5} {_col6} > {_col7} {_col8} {_col9} > keys: > 0 _col3 (type: int) > 1 _col4 (type: int) > outputColumnNames: _col0, _col1, _col2, _col4, _col5, > _col6, _col7, _col8, _col9, _col11, _col12, _col13, _col14, _col15 > input vertices: > 0 Map 8 > Statistics: Num rows: 22690492416 Data size: > 1981054320640 Basic stats: COMPLETE Column stats: NONE > Filter Operator > predicate: (((_col8 = _col4) and ((_col0 = _col7) > and ((_col1 = 'M') and ((_col2 = '4 yr Degree') and (_col12 BETWEEN 100 AND > 150 and (_col5 = 3)))))) or (((_col8 = _col4) and ((_col0 = _col7) and > ((_col1 = 'D') and ((_col2 = 'Primary') and (_col12 BETWEEN 50 AND 100 and > (_col5 = 1)))))) or ((_col8 = _col4) and ((_col0 = _col7) and ((_col1 = 'U') > and ((_col2 = 'Advanced Degree') and (_col12 BETWEEN 150 AND 200 and (_col5 = > 1)))))))) (type: boolean) > Statistics: Num rows: 1063616832 Data size: > 92861921280 Basic stats: COMPLETE Column stats: NONE > Select Operator > expressions: _col6 (type: int), _col9 (type: > int), _col11 (type: int), _col13 (type: float), _col14 (type: float), _col15 > (type: float) > outputColumnNames: _col0, _col3, _col5, _col7, > _col8, _col9 > Statistics: Num rows: 1063616832 Data size: > 92861921280 Basic stats: COMPLETE Column stats: NONE > Reduce Output Operator > sort order: > Statistics: Num rows: 1063616832 Data size: > 92861921280 Basic stats: COMPLETE Column stats: NONE > value expressions: _col0 (type: int), _col3 > (type: int), _col5 (type: int), _col7 (type: float), _col8 (type: float), > _col9 (type: float) > Execution mode: vectorized > Map 8 > Map Operator Tree: > TableScan > alias: customer_demographics > Statistics: Num rows: 1920800 Data size: 718379200 Basic > stats: COMPLETE Column stats: NONE > Select Operator > expressions: cd_demo_sk (type: int), cd_marital_status > (type: string), cd_education_status (type: string) > outputColumnNames: _col0, _col1, _col2 > Statistics: Num rows: 1920800 Data size: 718379200 Basic > stats: COMPLETE Column stats: NONE > Map Join Operator > condition map: > Inner Join 0 to 1 > condition expressions: > 0 {_col0} {_col1} {_col2} > 1 {_col0} > keys: > 0 > 1 > outputColumnNames: _col0, _col1, _col2, _col3 > input vertices: > 1 Map 6 > Statistics: Num rows: 2112880 Data size: 790217152 > Basic stats: COMPLETE Column stats: NONE > Map Join Operator > condition map: > Inner Join 0 to 1 > condition expressions: > 0 {_col0} {_col1} {_col2} {_col3} > 1 {_col0} {_col1} > keys: > 0 > 1 > outputColumnNames: _col0, _col1, _col2, _col3, _col4, > _col5 > input vertices: > 1 Map 5 > Statistics: Num rows: 2324168 Data size: 869238912 > Basic stats: COMPLETE Column stats: NONE > Reduce Output Operator > key expressions: _col3 (type: int) > sort order: + > Map-reduce partition columns: _col3 (type: int) > Statistics: Num rows: 2324168 Data size: 869238912 > Basic stats: COMPLETE Column stats: NONE > value expressions: _col0 (type: int), _col1 (type: > string), _col2 (type: string), _col4 (type: int), _col5 (type: int) > Execution mode: vectorized > Reducer 2 > Reduce Operator Tree: > Join Operator > condition map: > Inner Join 0 to 1 > condition expressions: > 0 {VALUE._col0} {VALUE._col3} {VALUE._col5} {VALUE._col7} > {VALUE._col8} {VALUE._col9} > 1 {VALUE._col0} {VALUE._col1} {VALUE._col2} > outputColumnNames: _col0, _col3, _col5, _col7, _col8, _col9, > _col16, _col17, _col18 > Statistics: Num rows: 1169978496 Data size: 102148120576 > Basic stats: COMPLETE Column stats: NONE > Filter Operator > predicate: (((_col3 = _col16) and ((_col18 = 'United > States') and ((_col17) IN ('KY', 'GA', 'NM') and _col9 BETWEEN 100 AND 200))) > or (((_col3 = _col16) and ((_col18 = 'United States') and ((_col17) IN ('MT', > 'OR', 'IN') and _col9 BETWEEN 150 AND 300))) or ((_col3 = _col16) and > ((_col18 = 'United States') and ((_col17) IN ('WI', 'MO', 'WV') and _col9 > BETWEEN 50 AND 250))))) (type: boolean) > Statistics: Num rows: 219370968 Data size: 19152772608 > Basic stats: COMPLETE Column stats: NONE > Select Operator > expressions: _col0 (type: int), _col5 (type: int), _col7 > (type: float), _col8 (type: float) > outputColumnNames: _col0, _col5, _col7, _col8 > Statistics: Num rows: 219370968 Data size: 19152772608 > Basic stats: COMPLETE Column stats: NONE > Map Join Operator > condition map: > Inner Join 0 to 1 > condition expressions: > 0 {_col5} {_col7} {_col8} > 1 > keys: > 0 _col0 (type: int) > 1 _col0 (type: int) > outputColumnNames: _col5, _col7, _col8 > input vertices: > 1 Map 4 > Statistics: Num rows: 241308080 Data size: 21068050432 > Basic stats: COMPLETE Column stats: NONE > Select Operator > expressions: _col5 (type: int), _col7 (type: float), > _col8 (type: float) > outputColumnNames: _col0, _col1, _col2 > Statistics: Num rows: 241308080 Data size: > 21068050432 Basic stats: COMPLETE Column stats: NONE > Group By Operator > aggregations: avg(_col0), avg(_col1), avg(_col2), > sum(_col2) > mode: hash > outputColumnNames: _col0, _col1, _col2, _col3 > Statistics: Num rows: 1 Data size: 8 Basic stats: > COMPLETE Column stats: NONE > Reduce Output Operator > sort order: > Statistics: Num rows: 1 Data size: 8 Basic stats: > COMPLETE Column stats: NONE > value expressions: _col0 (type: > struct<count:bigint,sum:double,input:int>), _col1 (type: > struct<count:bigint,sum:double,input:float>), _col2 (type: > struct<count:bigint,sum:double,input:float>), _col3 (type: double) > Reducer 3 > Reduce Operator Tree: > Group By Operator > aggregations: avg(VALUE._col0), avg(VALUE._col1), > avg(VALUE._col2), sum(VALUE._col3) > mode: mergepartial > outputColumnNames: _col0, _col1, _col2, _col3 > Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE > Column stats: NONE > Select Operator > expressions: _col0 (type: double), _col1 (type: double), > _col2 (type: double), _col3 (type: double) > outputColumnNames: _col0, _col1, _col2, _col3 > Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE > Column stats: NONE > File Output Operator > compressed: false > Statistics: Num rows: 1 Data size: 32 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 > Stage: Stage-0 > Fetch Operator > limit: -1 > Processor Tree: > ListSink > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)