【发布时间】: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