Scala 停止所有正在工作的SparkContext?

Scala 停止所有正在工作的SparkContext?,scala,intellij-idea,apache-spark,Scala,Intellij Idea,Apache Spark,我试图在IntelliJ工作表上测试一些Scala代码。 即使我写的都是这样: import org.apache.spark.rdd.RDD import org.apache.spark.sql.hive.HiveContext import org.apache.spark.sql.types.StructType import org.apache.spark.sql.{DataFrame, Row, SQLContext} import org.apache.spark.{SparkC

我试图在IntelliJ工作表上测试一些Scala代码。 即使我写的都是这样:

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.types.StructType
import org.apache.spark.sql.{DataFrame, Row, SQLContext}
import org.apache.spark.{SparkConf, SparkContext, SparkException}

val sc = new SparkContext()
val sqlContext = new HiveContext(sc)
我得到:

WARN SparkContext: Another SparkContext is being constructed (or threw an exception in its constructor).  This may indicate an error, since only one SparkContext may be running in this JVM (see SPARK-2243). The other SparkContext was created at:
org.apache.spark.SparkContext.<init>(SparkContext.scala:123)
警告SparkContext:正在构造另一个SparkContext(或在其构造函数中引发异常)。这可能表示错误,因为此JVM中可能只运行一个SparkContext(请参阅SPARK-2243)。另一个SparkContext创建于:
org.apache.spark.SparkContext(SparkContext.scala:123)
尽管这是一个全新的代码和平。自从我的电脑启动后,我没有运行过任何东西

有什么办法可以解决这个问题吗?

您可以
停止()
工作表末尾的上下文,这样每次运行时都不会留下运行上下文:

val sc = new SparkContext()
val sqlContext = new HiveContext(sc)

try {
  // your code here... 
} finally {
  sc.stop()
}

如果选中了交互模式,则键入的每一行都会重新执行工作表,这可能就是您看到此情况的原因?交互模式已停用..:/没用..:/似乎
sc
不是问题所在,而是由
import
语句激活的其他一些
SparkContext
。。