我看到几个帖子包含与我收到的错误相同的错误,但没有一个帖子让我修复我的代码。我已经多次使用这个完全相同的代码而没有任何问题,现在我遇到了问题。这是我收到的错误:
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)
如果您有任何建议,请告诉我。
答案 0 :(得分:2)
SparkSession是Spark 2.x中的新入口点。这是SQLContext的替代品,但它在内部代码中使用SQLContext。
使用SparkSession,您可以使用SQLContext创建所有内容。
如果您确实想使用SQLContext,请使用spark.sqlContext变量