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

Yicong Huang updated SPARK-56189:
---------------------------------
    Description: 
Move the processing logic for SQL_WINDOW_AGG_ARROW_UDF out of 
ArrowStreamAggArrowUDFSerializer and into read_udfs() in worker.py, using 
ArrowStreamSerializer as a pure I/O layer.

This is part of the incremental serializer refactor (SPARK-55388), following 
SPARK-56123 which refactored SQL_GROUPED_AGG_ARROW_UDF and 
SQL_GROUPED_AGG_ARROW_ITER_UDF.

  was:
Move the processing logic for SQL_GROUPED_AGG_ARROW_UDF and 
SQL_GROUPED_AGG_ARROW_ITER_UDF out of ArrowStreamAggArrowUDFSerializer and into 
read_udfs() in worker.py, using ArrowStreamSerializer as a pure I/O layer.

This is part of the incremental serializer refactor (SPARK-55388). The change:
- Deletes wrap_grouped_agg_arrow_udf() and wrap_grouped_agg_arrow_iter_udf() 
wrapper functions
- Returns raw (func, args_offsets, kwargs_offsets, return_type) from 
read_single_udf()
- Adds self-contained processing blocks in read_udfs() that handle grouped 
input, UDF invocation, and output coercion
- Replaces ArrowStreamAggArrowUDFSerializer with 
ArrowStreamSerializer(write_start_stream=True, num_dfs=1)
- Fixes a latent infinite recursion bug in _load_group_dataframes when num_dfs 
!= 0 by extracting _read_arrow_stream()

        Summary: Refactor SQL_WINDOW_AGG_ARROW_UDF to use ArrowStreamSerializer 
 (was: Refactor SQL_GROUPED_AGG_ARROW_UDF and SQL_GROUPED_AGG_ARROW_ITER_UDF)

> Refactor SQL_WINDOW_AGG_ARROW_UDF to use ArrowStreamSerializer
> --------------------------------------------------------------
>
>                 Key: SPARK-56189
>                 URL: https://issues.apache.org/jira/browse/SPARK-56189
>             Project: Spark
>          Issue Type: Sub-task
>          Components: PySpark, SQL
>    Affects Versions: 4.2.0
>            Reporter: Yicong Huang
>            Priority: Major
>
> Move the processing logic for SQL_WINDOW_AGG_ARROW_UDF out of 
> ArrowStreamAggArrowUDFSerializer and into read_udfs() in worker.py, using 
> ArrowStreamSerializer as a pure I/O layer.
> This is part of the incremental serializer refactor (SPARK-55388), following 
> SPARK-56123 which refactored SQL_GROUPED_AGG_ARROW_UDF and 
> SQL_GROUPED_AGG_ARROW_ITER_UDF.



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