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

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

> Analyze long withColumns chains in one pass and remove the eager analysis in 
> Spark Connect
> ------------------------------------------------------------------------------------------
>
>                 Key: SPARK-59855
>                 URL: https://issues.apache.org/jira/browse/SPARK-59855
>             Project: Spark
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 5.0.0
>            Reporter: Wenchen Fan
>            Priority: Major
>              Labels: pull-request-available
>
> Spark Connect plans each withColumns / withColumnsRenamed call lazily as 
> Project(Seq(UnresolvedStarWithColumns(...)), child) (SPARK-50601), so a loop 
> of df = df.withColumn(...) becomes a stack of such Projects. The fixed-point 
> analyzer resolves at most one of them per iteration of the Resolution batch, 
> and a chain of about 100 calls hits spark.sql.analyzer.maxIterations. 
> SPARK-53505 worked around this by eagerly analyzing each withColumns in the 
> Connect planner, which is quadratic and binds the plan when it's built (e.g. 
> pipeline flows lose their dependency on datasets that already exist in the 
> catalog).
> This ticket makes the analyzer resolve a lazily planned withColumns as soon 
> as its child is resolved, in isolation from the child plan, so the whole 
> chain is resolved in one pass, and removes the eager analysis from the 
> Connect planner.



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