Skip to content

Scala 2.12 and Spark 3 support#554

Merged
metasim merged 56 commits intolocationtech:developfrom
echeipesh:scala-2.12
Sep 16, 2021
Merged

Scala 2.12 and Spark 3 support#554
metasim merged 56 commits intolocationtech:developfrom
echeipesh:scala-2.12

Conversation

@echeipesh
Copy link
Contributor

@echeipesh echeipesh commented Jun 1, 2021

This PR bumps to Spark 3 and Scala 2.12, dropping support for Scala 2.11

Two major problems faced by this PR as:

  • ExpresisonEncoder now has expectations for what serializer and deserializer expressions look like and rewrites them on construction. Combined with getting rid of flat property this has introduced inconsistency in how RF encoders are treated when they're top of the column vs when they're member of a struct.
  • Filter is now sealed class. It's no longer possible to push down spatial filter predicates to GeoTrellis relation. This is sad but probably not a huge deal in reality. Very much secondary issue.

The PR core part is implemented and finalized by @pomadchin, it also incroporates:

  • Frameless Encoders usage
  • STAC Data Sources support

echeipesh added 7 commits June 1, 2021 09:35
Has more flexible ExpressionEncoder constructor
This can't be registered right now and prevents testing, tmp disable
These are the changes required for the specs to succeed, but this is a bad idea. This version of tile encoder has inconsistent nesting. Committing for discussion.
this needs to be refactored out with static test data to get rid of the http client dependency.
The hope here is to replicate the encoder structure used by spark such that all the re-write rules apply to RasterFrame encoders when we need them.
echeipesh added 2 commits June 9, 2021 08:19
- ProjectedRasterTile is now a case class
- CRS, Bounds, Dimensions UDT added
- LocalFunctionsSpec updated
- RasterRefTile is no longer ProjectedRasterTile, just Tile
@pomadchin pomadchin force-pushed the scala-2.12 branch 2 times, most recently from e8f4715 to 7e8a12e Compare September 16, 2021 01:39
@pomadchin
Copy link
Member

@echeipesh @metasim How about merging it as is without fixing the Python for now to unblock #551?

@metasim metasim marked this pull request as ready for review September 16, 2021 19:42
@metasim
Copy link
Member

metasim commented Sep 16, 2021

@echeipesh @metasim How about merging it as is without fixing the Python for now to unblock #551?

Let's go for it! I'll work the python fixes on another PR.

@metasim
Copy link
Member

metasim commented Sep 16, 2021

@echeipesh @pomadchin Congratulations!! 🎉 Amazing work!!

@pomadchin
Copy link
Member

Closes #530 as well!

@metasim metasim merged commit 27231a0 into locationtech:develop Sep 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants