pyspark的导入
之前我试过很多种方法,但是直接install pyspark总是没办法运行,所以这里我换了一种方法,直接导入pyspark
打开pycharm的项目,找到setting中的project structure
选择添加
在你下载的spark文件夹中,找到python文件夹,python文件夹的lib下有两个压缩包,放进去
应用即可,到这里,就已经成功很多了,但是我们还没结束,linux自带的python版本,和我们安装的python版本不统一,在worker和driver执行的时候就会报错
Exception: Python in worker has different version 2.7 than that in driver
类似这样的报错信息,
解决方法是,在spark文件夹的conf的spark-env文件中设置一下pyspark所使用的python版本,具体导入如下
export PYSPARK_PYTHON=/usr/bin/python3
export PYSPARK_DRIVER_PYTHON=/usr/bin/python3
当然,python3的路径用自己的
不知道的话,可以使用whereis寻找
whereis python3
保险起见,在linux环境变量中也加入这两条环境变量,
注意:修改完不要忘了source,并且重启一下虚拟机
重启完虚拟机,再次打开pycharm,我们就可以测试了,统计词频,使用的是spark自带的文件,路径记得改一下
if __name__ == '__main__':
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf = conf)
logFile = "file:///usr/local/spark/README.md"
logData = sc.textFile(logFile, 2).cache()
numAs = logData.filter(lambda line: 'a' in line).count()
numBs = logData.filter(lambda line: 'b' in line).count()
print('Lines with a: %s, Lines with b: %s' % (numAs, numBs))
执行,ok