win10下Anaconda3在虚拟环境python_version=3.5.3 中配置pyspark

1. 序
通过了一天的修炼,深深被恶心了,在虚拟环境中配置pyspark花式报错,因为本人实在是不想卸载3.6版的python,因此硬刚了一天,终于摸清了配置方法,而且配置成功,不抱怨了,开讲:python

2. 需求环境
Anaconda3;(个人是最新版的Anaconda4.3.1(64位))app

3. 安装虚拟环境
一、建立Python虚拟环境。
使用 conda create -n your_env_name python=3.5(2.七、3.6等) anaconda 命令建立python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件能够在Anaconda安装目录envs文件下找到。
二、 激活虚拟环境
activate your_env_name
三、 安装虚拟环境包
conda install -n your_env_name
至此一个名字是your_env_name的虚拟环境就建好了,它的python版本是3.5版本的,能够经过cmd进入,而后输入activate your_env_name在输出python而后查看到oop

 

4. 资源准备
spark_2.2.0_bin-hadoop2.7.tgz测试

根据本身的需求版本,能够下载不一样的spark版本,我用的是spark-2.0.1-bin-hadoop2.7,以后解压,注意存放的路径必定不能带空格,例如放到C:\Program Files就不行。这里我放到了D:\spark;以后就是添加环境变量。
有两种方法:
一、直接在path中添加环境变量:将D:\spark\spark-2.0.1-bin-hadoop2.7\bin,和D:\spark\spark-2.0.1-bin-hadoop2.7\sbin都加到环境变量中。
二、先新建一个SPARK_HOME的环境变量,值为D:\spark\spark-2.0.1-bin-hadoop2.7,以后将%SPARK_HOME%\bin和%SPARK_HOME%\sbin加入到path中
若是想看是否添加成功,须要将虚拟环境加入到path变量中,而后上移到原始python=3.6的路径前面,以后再cmd中输入pyspark就会出现下面的状况。注意:若是虚拟环境的路径不在原始路径前面会出现找不到路径的状况,固然这个路径只是为了看是否安装成功,跟在pycharm中运行成功与否没有任何关系,你也能够再变换回去。 spa


spark的依赖环境中有对hadoop的需求,所以还须要下载对应版本的hadoop,这里面我下载的是有关hadoop2.7+的资源,无需安装完整的Hadoop,但须要hadoop.dll,winutils.exe等。根据下载的Spark版本,下载相应版本的hadoop2.7.1。
解压,添加环境变量(如pyspark添加环境变量同样,一样有两种方法),通过个人测试,好像这里面的资源不太够,反正我用着会报错,所以我选择了从原始资源中下载bin文件,而后替换了前面hadoop2.7.1里面的bin文件。
要想在PyCharm中调用pySpark,须要加载包。将D:\spark\spark-2.0.1-bin-hadoop2.7\python文件夹下pySpark文件夹拷贝到D:\ProgramData\Anaconda3\envs\tensorflow\Lib\site-packages**(注:这个地方是要拷贝到虚拟环境的包路径).net

4. 1关键
注意咯,,,接下来这步操做决定咱们是否可以完成配置,,,
一、在D:\spark\spark-2.0.1-bin-hadoop2.7\bin文件夹下找到pyspark文件,而后用notepad++打开。
二、找到export PYSPARK_PYTHON而后把这个地方变成export PYSPARK_PYTHON=python3
三、保存。。。大功告成
四、重启(能够先略过此步,进行下面验证,若是验证仍是花式报错(2)就能够上本步,成为大绝杀,而后能够爽歪歪用pyspark了)
到目前为止,咱们的准备工做终于作好了,,,不容易啊。。。其实到如今为止咱们也算是安装完成,,惊不惊喜,意不意外,,没想到这么简单吧,哈哈哈哈哈哈,接下来咱们就能够验证了。。blog

5. 验证
在这里引用雪伦的例子,hadoop

新建wordCount.py文件,写代码
注意setAppName、setMaster中千万不要带空格,不然会出现“Java gateway process exited before sending the driver its port number”的报错资源

import sys
from operator import addpycharm

from pyspark import SparkContext


if __name__ == "__main__":
sc = SparkContext(appName="PythonWordCount")
lines = sc.textFile('words.txt')
counts = lines.flatMap(lambda x: x.split(' ')) \
.map(lambda x: (x, 1)) \
.reduceByKey(add)
output = counts.collect()
for (word, count) in output:
print "%s: %i" % (word, count)

sc.stop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
其中words.txt中的内容是

good bad cool
hadoop spark mlib
good spark mlib
cool spark bad
1
2
3
4
而后运行,,,你会发现——————————————————————————报错了是否是,哈哈哈。虽然不知道你报的什么错,确定报错了,这才是虚拟环境装pyspark迷人的地方,花式报错,,别着急,那是由于咱们没有添加项目的环境变量,在图中环境变量位置把SPARK_HOME的路径添加进去,以后再运行

出现

相关文章
相关标签/搜索