SparkException:此JVM中只能运行一个SparkContext(请参阅SPARK-2243)

时间:2017-08-14 20:02:15

标签: python apache-spark

我看到几个帖子包含与我收到的错误相同的错误,但没有一个帖子让我修复我的代码。我已经多次使用这个完全相同的代码而没有任何问题,现在我遇到了问题。这是我收到的错误:

y4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243).

以下是我在python脚本中启动上下文的方法:

spark = ps.sql.SparkSession.builder \
        .master("local[*]") \
        .appName("collab_rec") \
        .config("spark.mongodb.input.uri", "mongodb://127.0.0.1/bgg.game_commen$
        .getOrCreate()

sc = spark.sparkContext
sc.setCheckpointDir('checkpoint/')
sqlContext = SQLContext(spark)

如果您有任何建议,请告诉我。

1 个答案:

答案 0 :(得分:2)

SparkSession是Spark 2.x中的新入口点。这是SQLContext的替代品,但它在内部代码中使用SQLContext。

使用SparkSession,您可以使用SQLContext创建所有内容。

如果您确实想使用SQLContext,请使用spark.sqlContext变量