You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Yicong Huang (Jira)" <ji...@apache.org> on 2026/03/24 23:14:00 UTC

[jira] [Updated] (SPARK-56189) Refactor SQL_GROUPED_AGG_ARROW_UDF and SQL_GROUPED_AGG_ARROW_ITER_UDF

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

Yicong Huang updated SPARK-56189:
---------------------------------
    Summary: Refactor SQL_GROUPED_AGG_ARROW_UDF and SQL_GROUPED_AGG_ARROW_ITER_UDF  (was: Refactor SQL_GROUPED_AGG_ARROW_UDF and SQL_GROUPED_AGG_ARROW_ITER_UDF to use ArrowStreamSerializer)

> Refactor SQL_GROUPED_AGG_ARROW_UDF and SQL_GROUPED_AGG_ARROW_ITER_UDF
> ---------------------------------------------------------------------
>
>                 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_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()



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org