Peter Toth created SPARK-59620:
----------------------------------

             Summary: Late-materialization storage-filter pushdown via splicing
                 Key: SPARK-59620
                 URL: https://issues.apache.org/jira/browse/SPARK-59620
             Project: Spark
          Issue Type: New Feature
          Components: SQL
    Affects Versions: 5.0.0
            Reporter: Peter Toth


A runtime bloom filter from join runtime filtering is applied today as a Filter 
above the scan. The scan still reads every value page of every row group, even 
where the filter drops almost every row. On a selective join over a wide table 
that read is the dominant cost.

This asks for such a filter to be pushed into the scan instead, so the 
vectorized Parquet reader can read the filter's key column first, decide which 
rows survive, and skip the column pages that no surviving row touches. A row 
group where nothing survives then costs one key-column read and no value-column 
IO at all.

The scan reports what it saved through new SQL metrics, so a user can see when 
the filter is paying off and when it is not.

Behind a new SQL config, off by default.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to