Lars Volker has posted comments on this change. ( http://gerrit.cloudera.org:8080/8400 )
Change subject: IMPALA-4167: Support insert plan hints for CREATE TABLE AS SELECT ...................................................................... Patch Set 6: (8 comments) Apologies for the delayed review. I had a few more questions. Let's discuss the parser changes in person if you feel I misunderstood the approach. http://gerrit.cloudera.org:8080/#/c/8400/6//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/8400/6//COMMIT_MSG@19 PS6, Line 19: more add "more memory efficient"? That makes it more obvious why it is more efficient to do additional work (sorting). http://gerrit.cloudera.org:8080/#/c/8400/6//COMMIT_MSG@27 PS6, Line 27: Add exchange node before insert even in case of unpartitioned tables. I don't think this is true, is it? For unpartitioned tables, what would the shuffle / exchange do? Instead "shuffle" forces an exchange, "noshuffle" prevents adding one, and leaving it out results in the planner making a cost-based decision (DistributedPlanner.java:218). http://gerrit.cloudera.org:8080/#/c/8400/6//COMMIT_MSG@35 PS6, Line 35: was moved from tbl_def_without_col_defs to statement rules. Mention how you tested it in the commit message. http://gerrit.cloudera.org:8080/#/c/8400/6/fe/src/main/cup/sql-parser.cup File fe/src/main/cup/sql-parser.cup: http://gerrit.cloudera.org:8080/#/c/8400/6/fe/src/main/cup/sql-parser.cup@1055 PS6, Line 1055: plan_hints:hints Does opt_plan_hints not work here? http://gerrit.cloudera.org:8080/#/c/8400/6/fe/src/main/java/org/apache/impala/analysis/CreateTableAsSelectStmt.java File fe/src/main/java/org/apache/impala/analysis/CreateTableAsSelectStmt.java: http://gerrit.cloudera.org:8080/#/c/8400/6/fe/src/main/java/org/apache/impala/analysis/CreateTableAsSelectStmt.java@69 PS6, Line 69: * Helper class for parsing. Is this class still needed or a left-over from earlier patch-sets? Can you expand the class comment to explain why we need it and what it does? http://gerrit.cloudera.org:8080/#/c/8400/6/fe/src/test/java/org/apache/impala/analysis/AnalyzeDDLTest.java File fe/src/test/java/org/apache/impala/analysis/AnalyzeDDLTest.java: http://gerrit.cloudera.org:8080/#/c/8400/6/fe/src/test/java/org/apache/impala/analysis/AnalyzeDDLTest.java@1701 PS6, Line 1701: Multiple non-conflicting Can you add one that has multiple distinct hints, like shuffle, clustered? http://gerrit.cloudera.org:8080/#/c/8400/6/testdata/workloads/functional-planner/queries/PlannerTest/ddl.test File testdata/workloads/functional-planner/queries/PlannerTest/ddl.test: http://gerrit.cloudera.org:8080/#/c/8400/6/testdata/workloads/functional-planner/queries/PlannerTest/ddl.test@233 PS6, Line 233: shuffle Is that true? Without specifying a hint there should be cases where the cost based heuristic decides against adding an exchange node. http://gerrit.cloudera.org:8080/#/c/8400/6/testdata/workloads/functional-planner/queries/PlannerTest/ddl.test@344 PS6, Line 344: 01:EXCHANGE [UNPARTITIONED] At first I didn't understand what this one does (I saw that insert.test:574 has the same). On my machine this exchange collects all rows at the coordinator. Maybe you want to add that in a comment? -- To view, visit http://gerrit.cloudera.org:8080/8400 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8d74bca999da8ae1bb89427c70841f33e3c56ab0 Gerrit-Change-Number: 8400 Gerrit-PatchSet: 6 Gerrit-Owner: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Gabor Kaszab <gaborkas...@cloudera.com> Gerrit-Reviewer: Lars Volker <l...@cloudera.com> Gerrit-Comment-Date: Mon, 08 Jan 2018 14:04:10 +0000 Gerrit-HasComments: Yes