kotlin-spark-api icon indicating copy to clipboard operation
kotlin-spark-api copied to clipboard

For the future: Remove KSparkSession using new context()

Open Jolanrensen opened this issue 3 years ago • 1 comments

https://github.com/Kotlin/KEEP/blob/master/proposals/context-receivers.md

Context receivers will allow functions like

@context(SparkSession)
inline fun <reified T> List<T>.toDS() = toDS(spark)

to function without needing a separate KSparkSession. It could maybe also help in other places! It's still experimental though.

Jolanrensen avatar Feb 15 '22 12:02 Jolanrensen

@asm0dey Pretty interesting idea indeed! I got curious, so I removed KSparkSession using the new context receivers and while IntelliJ does not seem to agree, it does work! You can have a look yourself and experiment if you're curious on my branch https://github.com/Jolanrensen/kotlin-spark-api/tree/1.6.20-M1

Edit: after a restart, IntelliJ agrees too XD What a fun new feature

Jolanrensen avatar Feb 15 '22 19:02 Jolanrensen