[ 
https://issues.apache.org/jira/browse/SPARK-58310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SPARK-58310:
-----------------------------------
    Labels: pull-request-available  (was: )

> Avoid runtime Bloom-filter subqueries containing Python UDFs
> ------------------------------------------------------------
>
>                 Key: SPARK-58310
>                 URL: https://issues.apache.org/jira/browse/SPARK-58310
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 4.3.0
>            Reporter: Chao Sun
>            Priority: Major
>              Labels: pull-request-available
>
> When runtime Bloom filtering and adaptive query execution are enabled, 
> InjectRuntimeFilter can build a Bloom-filter scalar subquery from a 
> creation-side logical plan that contains a Python UDF. Runtime filter 
> subqueries are introduced after subquery optimization, so the Python UDF in 
> the newly constructed subquery is not extracted into a Python evaluation 
> operator. Physical planning then reaches PythonUDF.doGenCode while executing 
> the BloomFilterAggregate, causing an unevaluable-expression/code-generation 
> failure.
> A nested query using a Python-normalized dimension, DISTINCT, an explicitly 
> broadcast join, and a scalar aggregate reproduces the problem against Apache 
> Spark master. Both standard scalar Python UDFs and Arrow-backed scalar pandas 
> UDFs are affected.
> Skip only the runtime Bloom filter whose creation-side plan contains a Python 
> UDF. Continue to inject safe Bloom filters when a Python UDF appears only on 
> the application side. Add a regression that checks adaptive execution, exact 
> query results, a Parquet round trip, standard and Arrow UDFs, and continued 
> safe Bloom-filter injection.



--
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