栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

pyspark导入,解决pyspark无法直接使用问题(linux版)

pyspark导入,解决pyspark无法直接使用问题(linux版)

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774790.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号