pyspark遇到报错:_PYSPARK_DRIVER_CONN_INFO_PATH

1.  环境 : centos,启动pyspark,执行如下python命令:

import pyspark
from pyspark import SparkContext 
from pyspark import SparkConf
conf=SparkConf().setAppName("miniProject").setMaster("local[*]")
sc=SparkContext.getOrCreate(conf)

#flatMap() 对RDD中的item执行同一个操作以后得到一个list,然后以平铺的方式把这些list里所有的结果组成新的list
sentencesRDD=sc.parallelize(['Hello world','My name is Patrick'])
wordsRDD=sentencesRDD.flatMap(lambda sentence: sentence.split(" "))
print (wordsRDD.collect())
print (wordsRDD.count())

用root账号没问题:

用非root账号会有此问题如下:_PYSPARK_DRIVER_CONN_INFO_PATH,后台设置下/etc/profile 中环境变量可以了。

 vi /etc/profile  加入:,source /etc/profile

2.  后来在 jupyter notebook远程登录后(非root账号),发现还是有这个问题。(其实就是环境变量没有加载完全。)

解决方法在脚本开头加入:

#jupyter需要初始化pyspark相关环境变量
import findspark
findspark.init()
import os,sys
os.environ['SPARK_HOME'] = "/bin/spark-2.4.0"
sys.path.append("/bin/spark-2.4.0/python")
sys.path.append("/bin/spark-2.4.0/python/lib/py4j-0.10.7-src.zip")

 

posted on 2018-12-26 11:45  andy_1  阅读(1812)  评论(0编辑  收藏  举报

导航