[SPARK-58016][PYTHON] Revert Arrow-optimized Python UDFs and Arrow-based PySpark IPC by default#57094
Closed
Yicong-Huang wants to merge 1 commit into
Closed
[SPARK-58016][PYTHON] Revert Arrow-optimized Python UDFs and Arrow-based PySpark IPC by default#57094Yicong-Huang wants to merge 1 commit into
Yicong-Huang wants to merge 1 commit into
Conversation
Contributor
Author
|
Closing this PR. Instead of reverting, we will fix forward to reduce the regression via:
Note: the fix spans two parts. In addition to the PySpark-side changes above, a complementary fix is also needed in the Apache Arrow (PyArrow) community itself. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
This PR reverts SPARK-54555 (commit ea0a35e, "Enable Arrow-optimized Python UDFs and Arrow-based PySpark IPC by default"), restoring the following config defaults to
false:spark.sql.execution.pythonUDF.arrow.enabledspark.sql.execution.pythonUDTF.arrow.enabledspark.sql.execution.arrow.pyspark.enabled(via its fallbackspark.sql.execution.arrow.enabled)The associated user-facing documentation and migration-guide entries added by SPARK-54555 are reverted as well, and the
test_unified_udftest is restored to no longer force the conf off.The revert was applied with
git revert; the only manual conflict resolution was in the migration guide and the Arrow/pandas tutorial, where subsequent PRs had touched adjacent lines. Only the entries introduced by SPARK-54555 were removed; unrelated 4.1-to-4.2 migration notes are preserved.Why are the changes needed?
Enabling these Arrow optimizations by default in 4.2.0 is being reverted so the change does not ship on by default in the 4.2.0 release. Users who want the Arrow-optimized behavior can still opt in explicitly via the same configs.
Does this PR introduce any user-facing change?
Yes. It restores the previous default configuration: regular Python UDFs, Python UDTFs, and PySpark Arrow-based columnar data exchange (
DataFrame.toPandas/SparkSession.createDataFrame) are once again non-Arrow by default. This is a revert of an unreleased change (SPARK-54555 targeted 4.2.0), so there is no behavior change relative to released Spark versions.How was this patch tested?
Reverting existing changes; relies on existing PySpark test coverage that runs with the Arrow conf both enabled and disabled.
sql/catalystcompiles.Was this patch authored or co-authored using generative AI tooling?
No