Ver código fonte

[spark] Route the output of statement execution to /statement

Erick Tryzelaar 11 anos atrás
pai
commit
b76108f

+ 2 - 8
apps/spark/java/sparker-repl/src/main/scala/com/cloudera/hue/sparker/repl/Interpreter.scala

@@ -4,8 +4,6 @@ import java.io.{BufferedReader, PipedReader, PipedWriter, StringWriter}
 import java.util.concurrent.{BlockingQueue, SynchronousQueue}
 import java.util.concurrent.{BlockingQueue, SynchronousQueue}
 
 
 import org.apache.spark.repl.SparkILoop
 import org.apache.spark.repl.SparkILoop
-import org.json4s.DefaultFormats
-import org.json4s.JsonDSL._
 import org.json4s.jackson.JsonMethods._
 import org.json4s.jackson.JsonMethods._
 
 
 import scala.concurrent._
 import scala.concurrent._
@@ -33,14 +31,10 @@ class SparkerInterpreter {
   }
   }
   thread.start()
   thread.start()
 
 
-  def execute(statement: String): Future[String] = {
+  def execute(statement: String): Future[Map[String, String]] = {
     val promise = Promise[Map[String, String]]()
     val promise = Promise[Map[String, String]]()
     inQueue.put(ExecuteRequest(statement, promise))
     inQueue.put(ExecuteRequest(statement, promise))
-    promise.future.map {
-      case(response) => {
-        compact(render(response))
-      }
-    }
+    promise.future
   }
   }
 
 
   def close(): Unit = {
   def close(): Unit = {

+ 3 - 3
apps/spark/java/sparker-repl/src/main/scala/com/cloudera/hue/sparker/repl/WebApp.scala

@@ -23,9 +23,9 @@ class HelloWorldApp(interpreter: SparkerInterpreter) extends ScalatraServlet wit
   }
   }
 
 
   post("/statement") {
   post("/statement") {
-    val request = parsedBody.extract[ExecuteRequest]
-    val statement = request.statement
-    new AsyncResult { def is = interpreter.execute(statement) }
+    val req = parsedBody.extract[ExecuteRequest]
+    val statement = req.statement
+    new AsyncResult { val is = interpreter.execute(statement) }
   }
   }
 }
 }