wangsheng has posted comments on this change. ( http://gerrit.cloudera.org:8080/18023 )
Change subject: IMPALA-7942: Add query hints for cardinalities and selectivities ...................................................................... Patch Set 2: (6 comments) Thanks for cr. I've already modify the code. Sorry for late reply due to bug which already fixed in IMPALA-11021. http://gerrit.cloudera.org:8080/#/c/18023/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/18023/1//COMMIT_MSG@21 PS1, Line 21: hint value only valid when table does not have stats or stats is > nit: line should have 72 or fewer characters Done http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/main/java/org/apache/impala/analysis/Predicate.java File fe/src/main/java/org/apache/impala/analysis/Predicate.java: http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/main/java/org/apache/impala/analysis/Predicate.java@32 PS1, Line 32: // The allowed values is [0,1], 1 means all records are eligible, 0 mean all records > nit: Documenting the allowed values and what would 0 and 1 mean would help Done http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/main/java/org/apache/impala/analysis/TableRef.java File fe/src/main/java/org/apache/impala/analysis/TableRef.java: http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/main/java/org/apache/impala/analysis/TableRef.java@526 PS1, Line 526: return; > nit: Warning here should tell the correct format of specifying the HDFS_NUM Done http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java File fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java: http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java@1556 PS1, Line 1556: > Shouldn't user provided hint be given higher preference ? In my opinion, table rows is precise, unless table not stats or has corrupt stats. This is different from selectivity. For selectiviy, Impala use very simple computing, and this may lead to worse plan even table has precise stast, so selectivity hint is higher priority, but num_rows has lower priority. How do you think? http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java File fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java: http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java@4971 PS1, Line 4971: public void testPredicateHint() { > What happens when we provide SELECTIVITY hint for Join predicates ? Cool! I didn't consider this situation before, and added a check for single column predicate. If 'Predicate' is not single column predicate, Impala will print a warning msg, and this hint is invalid for this predicate. http://gerrit.cloudera.org:8080/#/c/18023/1/fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java@4974 PS1, Line 4974: AnalyzesOk("select * from tpch.lineitem where /* +ALWAYS_TRUE */ " + > Can we include tests where SELECTIVITY is applied on expressions having sca Done -- To view, visit http://gerrit.cloudera.org:8080/18023 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2776b9bbd878b8a21d9c866b400140a454f59e1b Gerrit-Change-Number: 18023 Gerrit-PatchSet: 2 Gerrit-Owner: wangsheng <sky...@163.com> Gerrit-Reviewer: Amogh Margoor <amarg...@gmail.com> Gerrit-Reviewer: Fucun Chu <chufu...@hotmail.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Quanlong Huang <huangquanl...@gmail.com> Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com> Gerrit-Reviewer: wangsheng <sky...@163.com> Gerrit-Comment-Date: Tue, 30 Nov 2021 09:12:30 +0000 Gerrit-HasComments: Yes