Quanlong Huang has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24592
Change subject: IMPALA-15189: Support HBO for SortNode cardinality ...................................................................... IMPALA-15189: Support HBO for SortNode cardinality A sort only reorders rows, so its output row count equals its child's unless it applies a limit: TopN, Partitioned TopN, or a total sort carrying a LIMIT. This extends HBO to support tracking and using cardinality of such SortNodes. The HBO key string of a SortNode consists of - Type: TOTAL, PARTIAL, TOPN, PARTITIONED_TOPN - IncludeTies: true/false for Top-N - OrderKind: LEXICAL, ZORDER - LIMIT, OFFSET for non-PARTITIONED_TOPN - PerPartitionLimit and Partition Exprs for PARTITIONED_TOPN - Order Exprs - Child key Skip local TopN since its cardinality usages assumes it's a per-instance cardinality, but HBO tracks the summed cross-instance cardinality. Merge TopN will skip its local TopN in constructing the child key string, similar to final AggregationNode skips intermediate AggregationNodes. This ensures the merge TopN's HBO key is identical to the single-node plan's key. Testing - Added FE tests on HBO key strings - Added e2e tests Assisted-by: Opus 4.8 (Claude Code) Change-Id: Ib829887a91593bee124d56e661e714575fe3be97 --- M fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java M fe/src/main/java/org/apache/impala/planner/JoinNode.java M fe/src/main/java/org/apache/impala/planner/SortNode.java M fe/src/test/java/org/apache/impala/planner/HboKeyStringTest.java A testdata/workloads/functional-query/queries/QueryTest/hbo-agg-on-topn-sort.test M tests/query_test/test_hbo.py 6 files changed, 439 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/92/24592/1 -- To view, visit http://gerrit.cloudera.org:8080/24592 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib829887a91593bee124d56e661e714575fe3be97 Gerrit-Change-Number: 24592 Gerrit-PatchSet: 1 Gerrit-Owner: Quanlong Huang <[email protected]>
