Uh oh!
There was an error while loading. Please reload this page.
ZEPPELIN-3552. Support Scala 2.12 of SparkInterpreter - #3034
Conversation
felixcheung
commented
Jun 27, 2018
hmm, Spark doesn't support Scala 2.12? |
zjffdu
commented
Jun 27, 2018
The first scala supported spark is 2.4.0 IIUC |
felixcheung
left a comment
There was a problem hiding this comment.
Given that there are a few unresolved subtasks that no one is working on at the moment, I'm not sure if this would be resolved by Spark 2.4.0 release. So my thought would be not yet for now.
antonkulaga
commented
Aug 20, 2018
Spark 2.4 will officially support Scala 2.12, so it will be great if Zeppelin will support it together with Spark. And also, there are some libs that are Scala 2.12 only |
zjffdu
commented
Aug 21, 2018
We would try to support it after spark 2.4 release. |
| sparkILoop.in = reader | ||
| sparkILoop.initializeSynchronous() | ||
| callMethod(sparkILoop, "scala$tools$nsc$interpreter$ILoop$$loopPostInit") |
There was a problem hiding this comment.
Hmmm .. weird. From my testing against Spark 2.4.0 RC, this failed to find the method because it became a nested function (https://github.com/scala/scala/blob/v2.12.6/src/repl/scala/tools/nsc/interpreter/ILoop.scala#L993). Let me try to manually test against this one.
| import scala.tools.nsc.interpreter._ | ||
| /** | ||
| * SparkInterpreter for scala-2.11 |
HyukjinKwon
commented
Oct 18, 2018
The default distribution will still be with Scala 2.11 for Spark 2.4 if I am not mistaken. It is nice to support it but Spark 2.4 with 2.11 should be supported first as a higher priority. I can work on 2.4.0 with 2.12 support further after this one got merged. |
HyukjinKwon
commented
Dec 5, 2018
Hey Jeff, I can take over this one too if you're busy since I took a look for similar code paths. |
conker84
commented
Apr 2, 2019
Hi @felixcheung@zjffdu any news on this? Spark 3.0 (which will be out late of summer) seems to remove the support to v 2.11 so it would be great merge this ASAP |
HyukjinKwon
commented
Apr 2, 2019
Sorry, actually I am stuck in some works .. I think I wouldn't be able to take over this. |
zjffdu
commented
Apr 3, 2019
Don't worry @HyukjinKwon let me continue this. |
03d3122 to
657a443Compare7581580 to
7feee7bCompare| <scala.version>2.10.5</scala.version> | ||
| <scala.binary.version>2.10</scala.binary.version> | ||
| <scalatest.version>2.2.4</scalatest.version> | ||
| <scalatest.version>3.0.7</scalatest.version> |
There was a problem hiding this comment.
3.0.7 support both scala 2.10/2.11/2.12
felixcheung
commented
Apr 5, 2019
whoa long time |
antonkulaga
commented
Apr 7, 2019
Scala 2.12 is no longer experimental in Spark 2.4.1 so I suggest targeting 2.4.1 |
conker84
commented
Apr 17, 2019
Any ETA for this? |
zjffdu
commented
Apr 19, 2019
@conker84 I make some updates to this PR, and it basically works in my local environment. But I still need more time to refine this PR. I suppose this could be done in 0.9. |
conker84
commented
Apr 19, 2019
Ok thanks! |
608046f to
ddcf7b7Compareconker84
commented
May 16, 2019
Any news on this? |
conker84
commented
May 31, 2019
Ping |
zjffdu
commented
May 31, 2019
@conker84 I am busy on other stuff recently, but make some progress on this. The plan is still completing it before 0.9 which is planed to be released this summer. |
56e4c56 to
ef2c6afComparezjffdu
commented
Jun 24, 2019
Folks, This PR is ready for review. Now scala 2.12 is supported. |
felixcheung
commented
Jun 25, 2019
LGTM |
zjffdu
commented
Jun 26, 2019
Will merge if no more comments |
What is this PR for?
This PR add support for scala 2.12 of SparkInterpreter. In this PR, I did some refactoring of whole spark modules. Each scala version interrpeter will be loaded dynamically via URLClassLoad, so that we can just write code once and compile it multiple times via different scala version and load it dynamically based on the current scala version.
What type of PR is it?
[Feature | Refactoring]
Todos
What is the Jira issue?
How should this be tested?
Screenshots (if appropriate)
Questions: