Pārlūkot izejas kodu

HUE-2864 [livy] Allow sparkr sessions to be launched from yarn

This also removes some old, broken code mentioning using
"livy-repl python" to launch pyspark, and "livy-repl scala"
to launch spark sessions.
Erick Tryzelaar 10 gadi atpakaļ
vecāks
revīzija
f58bd9596b

+ 7 - 6
apps/spark/java/livy-repl/src/main/scala/com/cloudera/hue/livy/repl/Main.scala

@@ -23,6 +23,7 @@ import javax.servlet.ServletContext
 
 import com.cloudera.hue.livy.repl.python.PythonSession
 import com.cloudera.hue.livy.repl.scala.SparkSession
+import com.cloudera.hue.livy.repl.sparkr.SparkRSession
 import com.cloudera.hue.livy.sessions.Starting
 import com.cloudera.hue.livy.{Logging, WebServer}
 import dispatch._
@@ -38,10 +39,9 @@ import _root_.scala.concurrent.{Await, ExecutionContext}
 object Main extends Logging {
 
   val SESSION_KIND = "livy.repl.session.kind"
-  val PYTHON_SESSION = "python"
   val PYSPARK_SESSION = "pyspark"
-  val SCALA_SESSION = "scala"
   val SPARK_SESSION = "spark"
+  val SPARKR_SESSION = "sparkr"
 
   def main(args: Array[String]): Unit = {
 
@@ -55,14 +55,14 @@ object Main extends Logging {
 
 
     if (args.length != 1) {
-      println("Must specify either `python`/`pyspark`/`scala/`spark` for the session kind")
+      println("Must specify either `pyspark`/`spark`/`sparkr` for the session kind")
       sys.exit(1)
     }
 
     val session_kind = args.head
 
     session_kind match {
-      case PYSPARK_SESSION | SPARK_SESSION =>
+      case PYSPARK_SESSION | SPARK_SESSION | SPARKR_SESSION =>
       case _ =>
         println("Unknown session kind: " + session_kind)
         sys.exit(1)
@@ -102,8 +102,9 @@ class ScalatraBootstrap extends LifeCycle with Logging {
 
   override def init(context: ServletContext): Unit = {
     session = context.getInitParameter(Main.SESSION_KIND) match {
-      case Main.PYSPARK_SESSION | Main.PYTHON_SESSION => PythonSession.create()
-      case Main.SPARK_SESSION | Main.SCALA_SESSION => SparkSession.create()
+      case Main.PYSPARK_SESSION => PythonSession.create()
+      case Main.SPARK_SESSION => SparkSession.create()
+      case Main.SPARKR_SESSION => SparkRSession.create()
     }
 
     context.mount(new WebApp(session), "/*")