jupyter笔记本上spark wordcount python 3.5中的Py4JJavaError
我正在用python在spark streaming上尝试一个简单的网络字数计算程序,代码如下jupyter笔记本上spark wordcount python 3.5中的Py4JJavaError,python,python-3.x,apache-spark,pyspark,spark-streaming,Python,Python 3.x,Apache Spark,Pyspark,Spark Streaming,我正在用python在spark streaming上尝试一个简单的网络字数计算程序,代码如下 from pyspark import SparkContext from pyspark.streaming import StreamingContext sc = SparkContext("local[2]", "NetworkWordCount") ssc = StreamingContext(sc, 1) lines = ssc.socketTextStream("localhos
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
sc = SparkContext("local[2]", "NetworkWordCount")
ssc = StreamingContext(sc, 1)
lines = ssc.socketTextStream("localhost", 9999)
words = lines.flatMap(lambda line: line.split(" "))
pairs = words.map( lambda word : (word,1))
wordCount = pairs.reduceByKey( lambda x, y : (x+y))
wordCount.pprint()
ssc.start()
ssc.awaitTermination()
在ssc启动前运行良好
但它在ssc上给出了一个错误
你用的是独立的spark吗 您的错误是:异常:worker中的Python与driver 3.5中的Python版本2.7不同,PySpark无法使用不同的次要版本运行。请检查环境变量PySpark_Python和PySpark_driver_Python是否正确设置 您的错误已在此处解决:
更新SPARK环境以使用PYTHON 3.7: 打开一个新终端并键入以下命令:export PYSPARK_PYTHON=python3.7这将确保工作节点使用与驱动程序相同的PYTHON 3.7,而不是默认的PYTHON 3.4 根据您拥有的PYTHON版本,您可能需要安装/更新ANACONDA: 要安装,请参阅: 确保您有anaconda 4.1.0或更高版本。打开一个新终端,通过在新终端中键入以下内容来检查您的conda版本:
conda --version
检查conda版本
如果低于anaconda 4.1.0,请键入conda update conda
接下来,我们通过键入查看是否有库nb_conda_内核
康达名单
检查我们是否有nb_conda_内核
如果您没有看到nb_conda_内核类型
conda安装nb_conda_内核
安装nb_conda_内核
如果您使用的是Python2,并且想要一个单独的Python3环境,请键入以下内容
condacreate-npy36python=3.6ipykernel
py35是环境的名称。你可以随便给它起个名字
或者,如果您使用的是Python3,并且想要一个单独的Python2环境,那么可以键入以下内容
condacreate-npy27 python=2.7ipykernel
py27是环境的名称。它使用Python2.7
确保python版本已成功安装并关闭终端。打开一个新端子,然后键入pyspark。您应该会看到新的环境出现。
conda --version