利用 PyCharm 搭建 Spark 开发环境

最近在看《Spark 机器学习》这本书,由于涉及到机器学习,所以书中很多地方用到了 Python ,如果一直使用 shell 练习的话,很多地方没有提示和代码补全功能,所以研究了一下使用 PyCharm 这款 IDE 搭建 Spark 的开发环境。

安装 Python 和 PyCharm

由于我使用的系统是 macOS Serria,它自带了 Python 环境,所以无需安装,如果使用的 Windows 开发的同学,可以自行百度安装教程,我之前安装过,应该比较简单。

PyCharm 是一款 Python 开发的 IDE ,使用过IntelliJ IDEA 的同学应该很容易上手,这两款 IDE 是一家公司出品的。macOS 和 Windows 上面的安装都比较简单,下载安装包傻瓜式安装便可。

安装 py4j

因为 Spark 的 Python 版本的 API 依赖于 py4j ,如果不安装运行程序会抛出如下错误。

  • 安装 pip

    因为 macOS 和 Windows 的安装方法各不相同,我只说一下我在 macOS 上面安装的过程,因为安装这些目录需要读写系统的目录,所以安装时都需要在安装的命令前加上 sudo
    先下载 get-pip.py 文件,下载的文件在当前 shell 所在的目录

    curl -O https://bootstrap.pypa.io/get-pip.py
    
    

    然后使用 Python 安装 pip

    python get-pip.py
    

    检查是否安装成功

    pip -V
    

    如果有版本信息显示证明安装成功

  • 安装 py4j

    pip 安装成功之后,py4j 的安装就是一条命令的事情了

    sudo pip install py4j
    

配置 PyCharm

我们这里假设读者已经部署好了 Spark 了,Spark 的部署也很简单,基本上解压安装包之后就可以使用了,比 Hadoop 的部署简单。

  • 配置 PyCharm 的环境变量

    主要配置两个变量,一个是 SPARK_HOME ,另外一个是 PYTHONPATH 。

    1. 先打开 Run Configurations

    1. 编辑 Environment variables

    3.添加环境变量

编写 Spark 程序

为了让我们在 PyCharm 编写 Spark 程序时有代码提示和补全功能,需要将 Spark 的 pyspark 导入到 Python 中。在 Spark 的程序中有 Python 的包,叫做pyspark

Python 导入第三方的包也很容易,只需要把相应的模块导入到指定的文件夹就可以了。
macOS 中将 pyspark 拷贝到 Python 的 site-packages 目录下

通过上述操作,我们在 PyCharm 中编写程序就没有什么问题了,这里贴上我编写的示例代码,读者可以通过运行这段程序测试开发环境是否搭建成功。

from pyspark import SparkContext
logFile = "/Users/chenxl/Documents/soft/spark-2.0.1-bin-hadoop2.6/README.md"
sc = SparkContext("local","Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print("Lines with a: %i,lines with b: %i"%(numAs,numBs))

运行结果:

发表评论

电子邮件地址不会被公开。 必填项已用*标注