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的路徑添加進去,以後再運行

出現

相關文章
相關標籤/搜索