in repl/src/main/scala/org/apache/livy/repl/Session.scala [336:359]
private def setJobGroup(codeType: Kind, statementId: Int): String = {
val jobGroup = statementIdToJobGroup(statementId)
val (cmd, tpe) = codeType match {
case Spark | SQL =>
// A dummy value to avoid automatic value binding in scala REPL.
(s"""val _livyJobGroup$jobGroup = sc.setJobGroup("$jobGroup",""" +
s""""Job group for statement $jobGroup")""",
Spark)
case PySpark =>
(s"""sc.setJobGroup("$jobGroup", "Job group for statement $jobGroup")""", PySpark)
case SparkR =>
sc.getConf.get("spark.livy.spark_major_version", "1") match {
case "1" =>
(s"""setJobGroup(sc, "$jobGroup", "Job group for statement $jobGroup", FALSE)""",
SparkR)
case "2" | "3" =>
(s"""setJobGroup("$jobGroup", "Job group for statement $jobGroup", FALSE)""", SparkR)
case v =>
throw new IllegalArgumentException(s"Unknown Spark major version [$v]")
}
}
// Set the job group
executeCode(interpreter(tpe), statementId, cmd)
}