----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/60757/#review180200 -----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Lines 1921 (patched) <https://reviews.apache.org/r/60757/#comment255242> Better function name: updateNumNulls ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Lines 1925 (patched) <https://reviews.apache.org/r/60757/#comment255243> Better comment: TODO: handle multi joins ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Lines 1933 (patched) <https://reviews.apache.org/r/60757/#comment255250> We shall update for else case also, otherwise I believe it will be set to 0 ? We can use: Math.min(newNumRows, oldNumNulls); ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Lines 1936-1937 (patched) <https://reviews.apache.org/r/60757/#comment255246> Add comment: interimNumRows represent number of matches for join keys on two sides. newNumRows-interimNumRows represent number of non-matches. ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Lines 1980 (patched) <https://reviews.apache.org/r/60757/#comment255249> This I think we shall implement. If its a join key numNulls = 0. Else its Math.min(newNumRows, oldNumNulls); ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Lines 2078 (patched) <https://reviews.apache.org/r/60757/#comment255251> Better name: computeRowCountAssumingInnerJoin() - Ashutosh Chauhan On July 11, 2017, 12:50 a.m., Vineet Garg wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/60757/ > ----------------------------------------------------------- > > (Updated July 11, 2017, 12:50 a.m.) > > > Review request for hive and Ashutosh Chauhan. > > > Bugs: HIVE-17066 > https://issues.apache.org/jira/browse/HIVE-17066 > > > Repository: hive-git > > > Description > ------- > > This patch improves estimation of number of nulls for columns coming out of > outer join. > > > Diffs > ----- > > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java > ae32a28c66 > ql/src/test/results/clientpositive/annotate_stats_join.q.out 48ba40ef41 > ql/src/test/results/clientpositive/cbo_rp_join0.q.out ba96de2fe1 > ql/src/test/results/clientpositive/llap/correlationoptimizer1.q.out > b970dd6716 > ql/src/test/results/clientpositive/llap/correlationoptimizer2.q.out > 6067c77f85 > ql/src/test/results/clientpositive/llap/explainuser_1.q.out bb42e45c2d > ql/src/test/results/clientpositive/llap/subquery_in.q.out e401f31e52 > ql/src/test/results/clientpositive/llap/subquery_multi.q.out a876c620e3 > ql/src/test/results/clientpositive/llap/subquery_notin.q.out 018ef1db54 > ql/src/test/results/clientpositive/llap/subquery_scalar.q.out 3a0d1464c5 > ql/src/test/results/clientpositive/llap/subquery_select.q.out 703d19de05 > ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out > f434a1e00b > ql/src/test/results/clientpositive/llap/tez_join_tests.q.out b0eff1e1f4 > ql/src/test/results/clientpositive/llap/tez_joins_explain.q.out 418c23c16d > ql/src/test/results/clientpositive/llap/tez_smb_empty.q.out cd392a7b2b > ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out > 6eba119ca0 > ql/src/test/results/clientpositive/llap/vector_left_outer_join.q.out > 82111bb27f > ql/src/test/results/clientpositive/llap/vector_outer_join1.q.out f64e7393d9 > ql/src/test/results/clientpositive/llap/vector_outer_join2.q.out c24a2d0e6e > ql/src/test/results/clientpositive/spark/annotate_stats_join.q.out > d09bc52155 > > > Diff: https://reviews.apache.org/r/60757/diff/1/ > > > Testing > ------- > > Updated existing tests > > > Thanks, > > Vineet Garg > >
