Re: Review Request 29800: Apply ColumnPrunning for noop PTFs
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/29800/#review69402 --- Ship it! Ship It! - Ashutosh Chauhan On Jan. 23, 2015, 5:41 a.m., Navis Ryu wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/29800/ --- (Updated Jan. 23, 2015, 5:41 a.m.) Review request for hive. Bugs: HIVE-9341 https://issues.apache.org/jira/browse/HIVE-9341 Repository: hive-git Description --- Currently, PTF disables CP optimization, which can make a huge burden. For example, {noformat} select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 from noop(on part partition by p_mfgr order by p_name ); STAGE PLANS: Stage: Stage-1 Map Reduce Map Operator Tree: TableScan alias: part Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: p_mfgr (type: string), p_name (type: string) sort order: ++ Map-reduce partition columns: p_mfgr (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE value expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string), BLOCK__OFFSET__INSIDE__FILE (type: bigint), INPUT__FILE__NAME (type: string), ROW__ID (type: structtransactionid:bigint,bucketid:int,rowid:bigint) ... {noformat} There should be a generic way to discern referenced columns but before that, we know CP can be safely applied to noop functions. Diffs - itests/src/test/resources/testconfiguration.properties d08651b itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 479af32 ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java abf32f1 ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSkewJoinProcFactory.java fe698ef ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java ee7328e ql/src/test/queries/clientpositive/ptf.q 56eef0a ql/src/test/queries/clientpositive/ptf_streaming.q 04b674c ql/src/test/results/clientpositive/ptf.q.out 9196b94 ql/src/test/results/clientpositive/ptf_streaming.q.out ef7ae88 ql/src/test/results/clientpositive/spark/ptf.q.out 9196b94 ql/src/test/results/clientpositive/spark/ptf_streaming.q.out ef7ae88 ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out f3b61ce ql/src/test/results/clientpositive/tez/ptf.q.out 9196b94 ql/src/test/results/clientpositive/tez/ptf_streaming.q.out PRE-CREATION ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out 928c9f0 ql/src/test/results/clientpositive/vectorized_ptf.q.out 7fdd1d8 Diff: https://reviews.apache.org/r/29800/diff/ Testing --- Thanks, Navis Ryu
Re: Review Request 29800: Apply ColumnPrunning for noop PTFs
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/29800/ --- (Updated Jan. 23, 2015, 5:41 a.m.) Review request for hive. Changes --- Updated with full diff Bugs: HIVE-9341 https://issues.apache.org/jira/browse/HIVE-9341 Repository: hive-git Description --- Currently, PTF disables CP optimization, which can make a huge burden. For example, {noformat} select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 from noop(on part partition by p_mfgr order by p_name ); STAGE PLANS: Stage: Stage-1 Map Reduce Map Operator Tree: TableScan alias: part Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: p_mfgr (type: string), p_name (type: string) sort order: ++ Map-reduce partition columns: p_mfgr (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE value expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string), BLOCK__OFFSET__INSIDE__FILE (type: bigint), INPUT__FILE__NAME (type: string), ROW__ID (type: structtransactionid:bigint,bucketid:int,rowid:bigint) ... {noformat} There should be a generic way to discern referenced columns but before that, we know CP can be safely applied to noop functions. Diffs (updated) - itests/src/test/resources/testconfiguration.properties d08651b itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 479af32 ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java abf32f1 ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSkewJoinProcFactory.java fe698ef ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java ee7328e ql/src/test/queries/clientpositive/ptf.q 56eef0a ql/src/test/queries/clientpositive/ptf_streaming.q 04b674c ql/src/test/results/clientpositive/ptf.q.out 9196b94 ql/src/test/results/clientpositive/ptf_streaming.q.out ef7ae88 ql/src/test/results/clientpositive/spark/ptf.q.out 9196b94 ql/src/test/results/clientpositive/spark/ptf_streaming.q.out ef7ae88 ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out f3b61ce ql/src/test/results/clientpositive/tez/ptf.q.out 9196b94 ql/src/test/results/clientpositive/tez/ptf_streaming.q.out PRE-CREATION ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out 928c9f0 ql/src/test/results/clientpositive/vectorized_ptf.q.out 7fdd1d8 Diff: https://reviews.apache.org/r/29800/diff/ Testing --- Thanks, Navis Ryu
Review Request 29800: Apply ColumnPrunning for noop PTFs
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/29800/ --- Review request for hive. Bugs: HIVE-9341 https://issues.apache.org/jira/browse/HIVE-9341 Repository: hive-git Description --- Currently, PTF disables CP optimization, which can make a huge burden. For example, {noformat} select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 from noop(on part partition by p_mfgr order by p_name ); STAGE PLANS: Stage: Stage-1 Map Reduce Map Operator Tree: TableScan alias: part Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: p_mfgr (type: string), p_name (type: string) sort order: ++ Map-reduce partition columns: p_mfgr (type: string) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE value expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string), BLOCK__OFFSET__INSIDE__FILE (type: bigint), INPUT__FILE__NAME (type: string), ROW__ID (type: structtransactionid:bigint,bucketid:int,rowid:bigint) ... {noformat} There should be a generic way to discern referenced columns but before that, we know CP can be safely applied to noop functions. Diffs - ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java afd1738 ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java ee7328e Diff: https://reviews.apache.org/r/29800/diff/ Testing --- Thanks, Navis Ryu