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")