-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-54103][Geo][SQL] Introduce client-side Geography and Geometry classes #52804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
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
uros-db
commented
Oct 31, 2025
Contributor
Author
uros-db
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cloud-fan @mkaravel @szehon-ho Please review.
Contributor
|
they are dead code now, right? I think we need to register them in RowEncoder and some other places. |
Contributor
Author
Yes, this is correct. The next PR will provide full encoding support. |
Contributor
|
thanks, merging to master! |
cloud-fan
pushed a commit
that referenced
this pull request
Nov 3, 2025
…metry types ### What changes were proposed in this pull request? This PR introduces type encoders for `Geography` and `Geometry`. Note that the server-side geospatial classes have already been introduced as part of: #52737; while client-side geospatial classes in external API have subsequently been introduced as part of: #52804. ### Why are the changes needed? These encoders are used to translate between (server) Spark Catalyst types and (client) Java/Scala types. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Added new Scala unit test suites for data frames: - `GeographyDataFrameSuite` - `GeometryDataFrameSuite` Also, added appropriate test cases to: - `RowSuite` ### Was this patch authored or co-authored using generative AI tooling? No. Closes #52813 from uros-db/geo-expression-encoders. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
cloud-fan
pushed a commit
that referenced
this pull request
Nov 3, 2025
…metry types ### What changes were proposed in this pull request? This PR introduces type encoders for `Geography` and `Geometry`. Note that the server-side geospatial classes have already been introduced as part of: #52737; while client-side geospatial classes in external API have subsequently been introduced as part of: #52804. ### Why are the changes needed? These encoders are used to translate between (server) Spark Catalyst types and (client) Java/Scala types. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Added new Scala unit test suites for data frames: - `GeographyDataFrameSuite` - `GeometryDataFrameSuite` Also, added appropriate test cases to: - `RowSuite` ### Was this patch authored or co-authored using generative AI tooling? No. Closes #52813 from uros-db/geo-expression-encoders. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]> (cherry picked from commit 2f94313) Signed-off-by: Wenchen Fan <[email protected]>
cloud-fan
pushed a commit
that referenced
this pull request
Nov 5, 2025
…s to PySpark Connect ### What changes were proposed in this pull request? Introduce `GeographyType` and `GeometryType` to PySpark Connect. Note that the geospatial data types have already been introduced in PySpark as part of: #52627. Also, introduce classes to represent a `Geography` and `Geometry` value in Python. Note that the corresponding classes have already been introduced on Scala side as part of: #52804. ### Why are the changes needed? Enabling geospatial types in Spark Connect. ### Does this PR introduce _any_ user-facing change? Yes, `GeographyType` and `GeometryType` are now available in PySpark Connect. ### How was this patch tested? Added new Python Connect tests: - `test_parity_geographytype` - `test_parity_geometrytype` ### Was this patch authored or co-authored using generative AI tooling? No. Closes #52871 from uros-db/geo-spark-connect. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
cloud-fan
pushed a commit
that referenced
this pull request
Nov 5, 2025
…s to PySpark Connect ### What changes were proposed in this pull request? Introduce `GeographyType` and `GeometryType` to PySpark Connect. Note that the geospatial data types have already been introduced in PySpark as part of: #52627. Also, introduce classes to represent a `Geography` and `Geometry` value in Python. Note that the corresponding classes have already been introduced on Scala side as part of: #52804. ### Why are the changes needed? Enabling geospatial types in Spark Connect. ### Does this PR introduce _any_ user-facing change? Yes, `GeographyType` and `GeometryType` are now available in PySpark Connect. ### How was this patch tested? Added new Python Connect tests: - `test_parity_geographytype` - `test_parity_geometrytype` ### Was this patch authored or co-authored using generative AI tooling? No. Closes #52871 from uros-db/geo-spark-connect. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
zifeif2
pushed a commit
to zifeif2/spark
that referenced
this pull request
Nov 22, 2025
…s to PySpark Connect ### What changes were proposed in this pull request? Introduce `GeographyType` and `GeometryType` to PySpark Connect. Note that the geospatial data types have already been introduced in PySpark as part of: apache#52627. Also, introduce classes to represent a `Geography` and `Geometry` value in Python. Note that the corresponding classes have already been introduced on Scala side as part of: apache#52804. ### Why are the changes needed? Enabling geospatial types in Spark Connect. ### Does this PR introduce _any_ user-facing change? Yes, `GeographyType` and `GeometryType` are now available in PySpark Connect. ### How was this patch tested? Added new Python Connect tests: - `test_parity_geographytype` - `test_parity_geometrytype` ### Was this patch authored or co-authored using generative AI tooling? No. Closes apache#52871 from uros-db/geo-spark-connect. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
huangxiaopingRD
pushed a commit
to huangxiaopingRD/spark
that referenced
this pull request
Nov 25, 2025
…classes ### What changes were proposed in this pull request? Introduce client-side `Geography` and `Geometry` geospatial classes in external API. Note that the Catalyst internal server-side geospatial execution classes have already been introduced separately, as part of: apache#52737. ### Why are the changes needed? Introducing geospatial classes to client API, which will allow various clients (JDBC, Hive, Thrift server, Spark Connect, etc.) to consume geospatial objects. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Added new Java unit test suites for the client classes: - `GeographyClientSuite` - `GeometryClientSuite` ### Was this patch authored or co-authored using generative AI tooling? No. Closes apache#52804 from uros-db/geo-client-classes. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
huangxiaopingRD
pushed a commit
to huangxiaopingRD/spark
that referenced
this pull request
Nov 25, 2025
…metry types ### What changes were proposed in this pull request? This PR introduces type encoders for `Geography` and `Geometry`. Note that the server-side geospatial classes have already been introduced as part of: apache#52737; while client-side geospatial classes in external API have subsequently been introduced as part of: apache#52804. ### Why are the changes needed? These encoders are used to translate between (server) Spark Catalyst types and (client) Java/Scala types. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Added new Scala unit test suites for data frames: - `GeographyDataFrameSuite` - `GeometryDataFrameSuite` Also, added appropriate test cases to: - `RowSuite` ### Was this patch authored or co-authored using generative AI tooling? No. Closes apache#52813 from uros-db/geo-expression-encoders. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
huangxiaopingRD
pushed a commit
to huangxiaopingRD/spark
that referenced
this pull request
Nov 25, 2025
…s to PySpark Connect ### What changes were proposed in this pull request? Introduce `GeographyType` and `GeometryType` to PySpark Connect. Note that the geospatial data types have already been introduced in PySpark as part of: apache#52627. Also, introduce classes to represent a `Geography` and `Geometry` value in Python. Note that the corresponding classes have already been introduced on Scala side as part of: apache#52804. ### Why are the changes needed? Enabling geospatial types in Spark Connect. ### Does this PR introduce _any_ user-facing change? Yes, `GeographyType` and `GeometryType` are now available in PySpark Connect. ### How was this patch tested? Added new Python Connect tests: - `test_parity_geographytype` - `test_parity_geometrytype` ### Was this patch authored or co-authored using generative AI tooling? No. Closes apache#52871 from uros-db/geo-spark-connect. Authored-by: Uros Bojanic <[email protected]> Signed-off-by: Wenchen Fan <[email protected]>
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?
Introduce client-side
GeographyandGeometrygeospatial classes in external API.Note that the Catalyst internal server-side geospatial execution classes have already been introduced separately, as part of: #52737.
Why are the changes needed?
Introducing geospatial classes to client API, which will allow various clients (JDBC, Hive, Thrift server, Spark Connect, etc.) to consume geospatial objects.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Added new Java unit test suites for the client classes:
GeographyClientSuiteGeometryClientSuiteWas this patch authored or co-authored using generative AI tooling?
No.