xi-db commented on code in PR #52585: URL: https://github.com/apache/spark/pull/52585#discussion_r2490351972
########## docs/spark-connect-gotchas.md: ########## @@ -0,0 +1,422 @@ +--- +layout: global +title: "Eager vs Lazy: Spark Connect vs Spark Classic" +license: | + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--- + +The comparison highlights key differences between Spark Connect and Spark Classic in terms of execution and analysis behavior. While both utilize lazy execution for transformations, Spark Connect also defers analysis, introducing unique considerations like temporary view handling and UDF evaluation. The guide outlines common gotchas and provides strategies for mitigation. + +**When does this matter?** These differences are particularly important when migrating existing code from Spark Classic to Spark Connect, or when writing code that needs to work with both modes. Understanding these distinctions helps avoid unexpected behavior and performance issues. + +For an overview of Spark Connect, see [Spark Connect Overview](spark-connect-overview.html). + +# Query Execution: Both Lazy Review Comment: Good point, however, I think the “Query Execution: Both Lazy” section explains what stays the same in Spark Classic and Spark Connect. This helps set up a clear contrast with the next section, “Schema Analysis: Eager vs. Lazy.” By comparing the two tables, readers can easily scan between the tables to find out what stays the same, and what changes. Without this explanation, readers might wrongly think other parts are different or confuse lazy execution with lazy analysis. What do you think? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
