【问题标题】:ValueError: Cannot run multiple SparkContexts at once in spark with pysparkValueError:无法使用 pyspark 在 spark 中一次运行多个 SparkContexts
【发布时间】:2018-03-03 06:42:38
【问题描述】:

我是使用 spark 的新手,我尝试在 pyspark 上运行此代码

from pyspark import SparkConf, SparkContext
import collections

conf = SparkConf().setMaster("local").setAppName("RatingsHistogram")
sc = SparkContext(conf = conf)

但他告诉我这个错误消息

Using Python version 3.5.2 (default, Jul  5 2016 11:41:13)
SparkSession available as 'spark'.
>>> from pyspark import SparkConf, SparkContext
>>> import collections
>>> conf = SparkConf().setMaster("local").setAppName("RatingsHistogram")
>>> sc = SparkContext(conf = conf)



   Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\spark\python\pyspark\context.py", line 115, in __init__
        SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)
      File "C:\spark\python\pyspark\context.py", line 275, in _ensure_initialized
        callsite.function, callsite.file, callsite.linenum))
    ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*]) created by getOrCreate at C:\spark\bin\..\python\pyspark\shell.py:43
    >>>

我有版本 spark 2.1.1 和 python 3.5.2,我搜索发现它是 sc 的问题,他看不到它,但直到为什么,任何人都可以在这里帮助

【问题讨论】:

  • 你在 pyspark2 中使用你的代码,它已经为你创建了一个 SparkSession。不要使用 pyspark shell,因为您正在创建自己的 SparkContext。将代码保存到 Python 文件中并通过spark-submit 提交
  • @arun 将其作为答案发布
  • 它在win shell中运行,但不在jupyter notebook或canopy中运行,我会发现问题,非常感谢@arun

标签: python-3.x apache-spark pyspark


【解决方案1】:

您之前的会话仍在进行中。你可以运行

sc.stop()

【讨论】:

    【解决方案2】:

    你可以试试:

    sc = SparkContext.getOrCreate(conf=conf)
    

    【讨论】:

      【解决方案3】:

      你可以试试这个

      sc = SparkContext.getOrCreate();

      【讨论】:

      • 为我工作。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 2017-04-25
      • 2021-03-11
      相关资源
      最近更新 更多