Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19030 )
Change subject: IMPALA-10891: Avoid hash exchanges in more situations ...................................................................... Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/19030/3/fe/src/main/java/org/apache/impala/analysis/AggregateInfo.java File fe/src/main/java/org/apache/impala/analysis/AggregateInfo.java: http://gerrit.cloudera.org:8080/#/c/19030/3/fe/src/main/java/org/apache/impala/analysis/AggregateInfo.java@122 PS3, Line 122: highCardinalityExpr = groupingExpr; : break; > I am a bit concerned about the simplicity of the logic - what will happen i Thought a bit more about this, I think that some change will be needed in the distributed planner to get a correct implementation. Somehow the partitioning expression set of the parent must get to the child to get the intersection of them and check this intersection's NDV. Currently we decide the partitioning of the children before the parents, as the distributed planner creates a child fragments first: https://github.com/apache/impala/blob/296e94411d3344e2969d4b083036ff238e80ad19/fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java#L109 We could get the partitioning expressions from the parent and give it as argument to the createPlanFragment() of the child. Then the child could create the intersection with its own partitioning expressions. -- To view, visit http://gerrit.cloudera.org:8080/19030 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie627d07b729f1f584f589cd0251dfe2bb64a417f Gerrit-Change-Number: 19030 Gerrit-PatchSet: 3 Gerrit-Owner: Xiaoqing Gao <[email protected]> Gerrit-Reviewer: Csaba Ringhofer <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Comment-Date: Fri, 23 Sep 2022 20:05:47 +0000 Gerrit-HasComments: Yes
