PySpark 环境还在pip安装?

前言:
可能在看到这篇文章以前,你或许一直在使用pip install 的方式来安装pyspark,有时会因为安装版本的不一致导致各种各样的错误发生,今天你狠幸运,看到了这篇文章,这里就来讲述一下Spark 的 python 开发环境搭建(注意前提是你已经安装好了spark,没安装也不要紧,可以看博主的往期的文章Spark 伪分布式搭建),好了下面进入今天的正题:

一.使用本地Shell

这个很简单就是依赖与安装spark后的$SPARK_HOME/bin/pyspark这个文件就可以启动一个pyspark的shell窗口,这个就有点类似与Ipython的这种可交互式窗口,平时用来测试一下还是可以的但是用来搞开发就显得有些费力了.
它呢只需要你在~/.bashrc或者/etc/profile中配置的$SPARK_HOME/bin这个环境变量,然后输入下面的命令就可以看到了

pyspark

在这里插入图片描述
可以发现打开这个Shell 时自动为我们创建了一个变量(也就是红框中标注的),类型就是Spark Session,其实不仅只有这个变量还有sc (就是SparkContext),sql(Spark.sql) 等等,要想看是怎么实现的也很容易,查看bin目录下的pyspark这个文件,你会返现下面这张图的内容

在这里插入图片描述
这个脚本写的可谓是相当的简单了,我们发现启动这个pyspark shell窗口的核心是在红框标注的这个地方,也就是调用的shell.py文件,然后我们又接着根据这个路径打开shell.py,发现:
在这里插入图片描述
图中标注的几个地方就是创建常用变量的代码,了解实现的方法后,感觉也就没那么神奇了,这个就是spark的Python交互式开发环境,
下面谈一谈配置IDE的开发环境.

二. 在PyCharm中使用PySpark

  • 当你只是安装了spark环境,没有单独去安装pyspark,你会发现在你的PyCharm中输入代码:
import pyspark

会弹出No module name is ‘pyspark’,提示找不到这个包,这时你或许会百度,上面很多就告诉你直接pip install一个就好,但这样会造成很多依赖的问题,既然上面我们已经看到了spark的安装包中是自带有pyspark包的,何不直接利用这个包呢?spark开发团队也很贴心,将pyspark的包已经打包放在了这个安装包了里面我们直接拿来用就行了.
在使用之前你应该先有这样一个概念,我们在使用pip install 这条命令自动安装Python的包时做了些什么,
平时我们安装一个python的包是 pip install ‘package_name version’ ,这条命令执行后就会在python的远端仓库中进行搜寻是否有这个包,如果有它就会下载下来,然后调用包中的setup.py 脚本进行安装,这个安装目录就在你的$PYTHON_HOME/site-packages
中,有了这个概念相信再来理解下面的做法就不难了.
配置有两种方式:

  1. 在程序中加入下面的代码:
import os
import sys

os.environ['SPARK_HOME'] = '/xxx/xxxx/spark'
sys.path.append('/xxxx/xxxx/spark/python')

这种方式就不用说了简单粗暴,治标不治本
2.下面是我们今天要讲的这种方法

(1) 点击工具栏中的Run,然后点击’编辑配置’
在这里插入图片描述
(2) 然后在弹出的框中点击那个$符号进去修改运行时的变量:
在这里插入图片描述

(3) 在这个框内添加 PYTHONPATH 和 SPARK_HOME 两个变量
在这里插入图片描述
(4) 然后保存退出,再到代码编辑页面,在运行程序你会发现就没有错误了,但是还有一个问题就是没有提示,这就需要前面讲到的内容了,
现在我们需要把$SPARK_HOME\python下的两个必要的目录(就是下图标注的这两个目录) 拷贝在Python安装目录/site-packages这个目录下去
在这里插入图片描述
(5) 拷贝完成后在去Python的site-packages目录中去看是否拷贝进来了,我这里使用的Anaconda环境所以稍微有点不一样,我的拷贝完成后是这样的:
在这里插入图片描述
好了最后再重新启动PyCharm,你会发现代码就有提示功能了,还是很简单吧.
有什么问题欢迎评论进行讨论

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值