Yuming Wang created SPARK-36716: ----------------------------------- Summary: Join estimation support LeftExistence join type Key: SPARK-36716 URL: https://issues.apache.org/jira/browse/SPARK-36716 Project: Spark Issue Type: Improvement Components: SQL Affects Versions: 3.3.0 Reporter: Yuming Wang
Join estimation support LeftExistence join type. This can benefit tpcds q10. Before: {noformat} TakeOrderedAndProject (51) +- * HashAggregate (50) +- Exchange (49) +- * HashAggregate (48) +- * Project (47) +- * SortMergeJoin Inner (46) :- * Sort (40) : +- Exchange (39) : +- * Project (38) : +- * BroadcastHashJoin Inner BuildRight (37) : :- * Project (31) : : +- * Filter (30) : : +- SortMergeJoin ExistenceJoin(exists#1) (29) : : :- SortMergeJoin ExistenceJoin(exists#2) (21) : : : :- * SortMergeJoin LeftSemi (13) : : : : :- * Sort (5) : : : : : +- Exchange (4) : : : : : +- * Filter (3) : : : : : +- * ColumnarToRow (2) : : : : : +- Scan parquet default.customer (1) : : : : +- * Sort (12) : : : : +- Exchange (11) : : : : +- * Project (10) : : : : +- * BroadcastHashJoin Inner BuildRight (9) : : : : :- * ColumnarToRow (7) : : : : : +- Scan parquet default.store_sales (6) : : : : +- ReusedExchange (8) : : : +- * Sort (20) : : : +- Exchange (19) : : : +- * Project (18) : : : +- * BroadcastHashJoin Inner BuildRight (17) : : : :- * ColumnarToRow (15) : : : : +- Scan parquet default.web_sales (14) : : : +- ReusedExchange (16) : : +- * Sort (28) : : +- Exchange (27) : : +- * Project (26) : : +- * BroadcastHashJoin Inner BuildRight (25) : : :- * ColumnarToRow (23) : : : +- Scan parquet default.catalog_sales (22) : : +- ReusedExchange (24) : +- BroadcastExchange (36) : +- * Project (35) : +- * Filter (34) : +- * ColumnarToRow (33) : +- Scan parquet default.customer_address (32) +- * Sort (45) +- Exchange (44) +- * Filter (43) +- * ColumnarToRow (42) +- Scan parquet default.customer_demographics (41) {noformat} After: {noformat} TakeOrderedAndProject (48) +- * HashAggregate (47) +- Exchange (46) +- * HashAggregate (45) +- * Project (44) +- * BroadcastHashJoin Inner BuildLeft (43) :- BroadcastExchange (39) : +- * Project (38) : +- * BroadcastHashJoin Inner BuildRight (37) : :- * Project (31) : : +- * Filter (30) : : +- SortMergeJoin ExistenceJoin(exists#1) (29) : : :- SortMergeJoin ExistenceJoin(exists#2) (21) : : : :- * SortMergeJoin LeftSemi (13) : : : : :- * Sort (5) : : : : : +- Exchange (4) : : : : : +- * Filter (3) : : : : : +- * ColumnarToRow (2) : : : : : +- Scan parquet default.customer (1) : : : : +- * Sort (12) : : : : +- Exchange (11) : : : : +- * Project (10) : : : : +- * BroadcastHashJoin Inner BuildRight (9) : : : : :- * ColumnarToRow (7) : : : : : +- Scan parquet default.store_sales (6) : : : : +- ReusedExchange (8) : : : +- * Sort (20) : : : +- Exchange (19) : : : +- * Project (18) : : : +- * BroadcastHashJoin Inner BuildRight (17) : : : :- * ColumnarToRow (15) : : : : +- Scan parquet default.web_sales (14) : : : +- ReusedExchange (16) : : +- * Sort (28) : : +- Exchange (27) : : +- * Project (26) : : +- * BroadcastHashJoin Inner BuildRight (25) : : :- * ColumnarToRow (23) : : : +- Scan parquet default.catalog_sales (22) : : +- ReusedExchange (24) : +- BroadcastExchange (36) : +- * Project (35) : +- * Filter (34) : +- * ColumnarToRow (33) : +- Scan parquet default.customer_address (32) +- * Filter (42) +- * ColumnarToRow (41) +- Scan parquet default.customer_demographics (40) {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org