Windows平台下基于pycharm配置python开发的spark环境

最近直接在Windows环境下利用已安装的pycharm配置spark的开发环境,仍然采用python语言开发。整个基本的配置过程做简单总结,具体如下:

  1. 首先安装jdk,这里作者下载了1.9版本,直达地址:jdk下载直达;安装方法比较简单,直接双击安装完,然后配置环境,主要是将…\bin以及…\jre\bin添加到环境变量中;
  2. 下载spark,直达地址:spark下载,这里根据下载的版本来选择后续hadoop的版本,作者选择了spark-2.3.1-bin-hadoop2.7,直接解压,然后创建SPARK_HOME=安装目录(如D:\spark-2.3.1-bin-hadoop2.7),同时将…\bin添加至环境变量;
  3. 下载Hadoop,版本选用2.7.6,链接地址:hadoop2.7.6下载直达,直接解压即可,新建HADOOP_HOME=安装目录(如D:\hadoop-2.7.6),同时将…\bin添加至环境变量;

此外还需要安装相关的python和包,由于之前已经安装完成,所以此处不再安装,版本使用python3.6,这样就可以通过cmd进入终端,输入pyspark,可以看到会提示错误,找不到winutils.exe,所以需要下载这个文件,可以通过github直接获取,链接地址:winutils组件下载,解压之后将内容拷贝至hadoop下的bin文件中覆盖之前内容,然后重新启动pyspark可以实现运行,结果如图1所示。

图1 运行结果

在pycharm中进行开发环境的布置时,还需要做一些处理。在run-->edit configurations...下的environment variables添加PYTHONPATH=D:\spark-2.3.1-bin-hadoop2.7\python\lib\py4j-0.10.7-srcSPARK_HOME=D:\spark-2.3.1-bin-hadoop2.7,如图2所示。

图2 pycharm添加环境变量

但是此时运行测试程序仍然会有问题,主要是还需要安装一个python连接java的中间件py4j,可以直接在终端通过pip install py4j,然后进入pycharm设置项目结构,如图3所示。

图3 设置项目结构

到此已经完成整个的环境布置,可以通过测试程序进行测试,这里直接使用下面的程序来测试:

from pyspark import SparkContext sc = SparkContext('local') doc = sc.parallelize([['a','b','c'],['b','d','d']]) words = doc.flatMap(lambda d:d).distinct().collect() word_dict = {w:i for w,i in zip(words,range(len(words)))} word_dict_b = sc.broadcast(word_dict) def wordCountPerDoc(d):     dict={}     wd = word_dict_b.value     for w in d:         if wd[w] in dict:             dict[wd[w]] +=1         else:             dict[wd[w]] = 1     return dict print (doc.map(wordCountPerDoc).collect()) print ("successful!")

%1 $ S

发表评论

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