python - Spark异常: Only one SparkContext may be running in this JVM (see SPARK-2243)

标签 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)

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

最佳答案

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

您使用 SQLContext 所做的一切都应该可以通过 SparkSession 实现。

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

关于python - Spark异常: Only one SparkContext may be running in this JVM (see SPARK-2243),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45682208/

相关文章:

python - guizero/tkinter PushButton NameError 来自 guizero PushButton.py

python - 尝试将稀疏 df 保存到 hdf5 时获取 'SparseDtype' 对象没有属性 'itemsize'?

python - 标题为 "patientid"的数据帧列,输入为 "abcd12345",需要从列中删除字母,以便病人 ID 看起来像 "12345"吗?

java - 尝试使用 spark shell 计算托管在本地 HDFS 上的文件中的行数时出现 HadoopRDD 错误

java - 从 Apache Spark SQL 中的用户定义聚合函数 (UDAF) 返回多个数组

scala - 使用流式查询时出现“连接被拒绝”异常

python - 按名称和来源重新采样 pandas 数据框

python - pandas 中删除的列重新出现

apache-spark - 暂停 Spark Streaming 作业

python - pyspark MLUtils saveaslibsvm 仅保存在 _temporary 下,而不保存在 master 上