Skip to content
Closed
4 changes: 4 additions & 0 deletions docs/interpreter/spark.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -199,6 +199,10 @@ You can also set other Spark properties which are not listed in the table. For a
<td>false</td>
<td>whether use yarn proxy url as spark weburl, e.g. http://localhost:8088/proxy/application_1583396598068_0004</td>
</tr>
<td>spark.repl.target</td>
<td>jvm-1.8</td>
<td>Manually specifying the Java version of Spark Interpreter Scala REPL,Available options:[jvm-1.5, jvm-1.6, jvm-1.7, jvm-1.8] </td>
</tr>
</table>

Without any configuration, Spark interpreter works out of box in local mode. But if you want to connect to your Spark cluster, you'll need to follow below two simple steps.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -67,10 +67,13 @@ class SparkScala210Interpreter(override val conf: SparkConf,
sparkHttpServer = server
conf.set("spark.repl.class.uri", uri)
}
val target = conf.get("spark.repl.target", "jvm-1.8")

val settings = new Settings()
settings.embeddedDefaults(sparkInterpreterClassLoader)
settings.usejavacp.value = true
settings.target.value = target

this.userJars = getUserJars()
LOGGER.info("UserJars: " + userJars.mkString(File.pathSeparator))
settings.classpath.value = userJars.mkString(File.pathSeparator)
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,12 +66,14 @@ class SparkScala211Interpreter(override val conf: SparkConf,
sparkHttpServer = server
conf.set("spark.repl.class.uri", uri)
}
val target = conf.get("spark.repl.target", "jvm-1.8")

val settings = new Settings()
settings.processArguments(List("-Yrepl-class-based",
"-Yrepl-outdir", s"${outputDir.getAbsolutePath}"), true)
settings.embeddedDefaults(sparkInterpreterClassLoader)
settings.usejavacp.value = true
settings.target.value = target

this.userJars = getUserJars()
LOGGER.info("UserJars: " + userJars.mkString(File.pathSeparator))
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -60,12 +60,15 @@ class SparkScala212Interpreter(override val conf: SparkConf,
LOGGER.info("Scala shell repl output dir: " + outputDir.getAbsolutePath)
outputDir.deleteOnExit()
conf.set("spark.repl.class.outputDir", outputDir.getAbsolutePath)
val target = conf.get("spark.repl.target", "jvm-1.8")

val settings = new Settings()
settings.processArguments(List("-Yrepl-class-based",
"-Yrepl-outdir", s"${outputDir.getAbsolutePath}"), true)
settings.embeddedDefaults(sparkInterpreterClassLoader)
settings.usejavacp.value = true
settings.target.value = target

this.userJars = getUserJars()
LOGGER.info("UserJars: " + userJars.mkString(File.pathSeparator))
settings.classpath.value = userJars.mkString(File.pathSeparator)
Expand Down