我试图在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)
尽管这是一个完全新鲜的代码和平。我的计算机启动后,我还没有运行任何东西。
我有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
您可以stop()
工作表末尾的上下文,以便每次运行时都不会保留正在运行的上下文:
val sc = new SparkContext()
val sqlContext = new HiveContext(sc)
try {
// your code here...
} finally {
sc.stop()
}
答案 1 :(得分:0)
这将有效 在IntelliJ中,转到文件 - &gt;设置 - &gt;语言与框架 - &gt; scala - &gt;工作表 - &gt;取消选中编译过程中的运行工作表