停止所有工作的SparkContext?

时间:2016-04-18 07:15:23

标签: 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.{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)

尽管这是一个完全新鲜的代码和平。我的计算机启动后,我还没有运行任何东西。

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

2 个答案:

答案 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;取消选中编译过程中的运行工作表