機器學習 - 開發環境安裝pycharm + pyspark + spark集成篇
AS WE ALL KNOW,學機器學習的一般都是從python+sklearn開始學,適用於數據量不大的場景(這裏就別計較“不大”具體指標是啥了,哈哈)
數據量大了,就需要用到其他技術了,如:spark, tensorflow,當然也有其他技術,此處略過一坨字...
先來看看如何讓這3個集成起來吧(WINDOWS環境):pycharm(python開發環境), pyspark.cmd(REPL命令行接口), spark(spark驅動、MASTER等)
download Anaconda, latest version, which 64bit support for windows, 這裏必須安裝64位版本的Anaconda,因為後面tensorflow只支持64位的
https://www.continuum.io/downloads/
安裝Anaconda,都是默認選項就行
dowload pycharm from jetbrain site, and install (please do it by yourself),這個很簡單,直接略過
接下來是下載spark,我下的是最新版2.1.0的 http://spark.apache.org/downloads.html
解壓縮後把它復制到一個容易找的目錄,我這是C:\spark-2.1.0-bin-hadoop2.7
這個時候如果直接雙擊bin下的spark-shell.cmd文件的話是會報錯的,主要原因是沒有winutils.exe這東西(用來在windows環境下模擬文件操作的),因此還需要做幾個小步驟才能正常啟動
1. 設置一個假的hadoop目錄,在這個目錄的bin下放剛才說的那個winutils.exe文件(需要自己創建bin目錄)
2. 設置環境變量HADOOP_HOME,值為這個假的hadoop目錄
3. 拷貝winutils.exe到這個bin裏,下載
OK,這時可以雙擊spark-shell.cmd了,如下:
HOHO, ==,==,我們不是要搞PYTHON環境嘛,怎麽搞scala了,別急,先搞scala是因為先要把基本的給走通,再去搞python環境的接口。
python接口的REPL是這個文件,pyspark.cmd,雙擊,也報錯...
別急,這裏是因為python版本問題,anaconda最新版的python解釋器版本是3.6.1,這個版本的spark不支持,需要降低版本 到3.5
卸載python? 不用,用anaconda的環境切換就行了
1. 先創建一個新的開發環境: conda create -n my_new_env_python35
2. 激活這個新的開發環境: activate my_new_env_python35
3. 在這個新的開發環境中安裝python 3.5: conda install python=3.5
這時python3.5版本的解釋器就算是安裝完成了,默認目錄在C:\ProgramData\Anaconda3\envs\my_new_env_python35\python.exe
然後就是需要把spark的python支持包復制到相應的路徑中了,從下圖1復制到my_new_env_python35環境的Lib\site-packages目錄下
接下來需要把python默認版本改成python3.5,需要修改PATH路徑,把python3.5的路徑放在第一個查找路徑下就行了
然後就開始整pycharm開發環境了。
首先肯定是新建一個python項目了,然後改設置,用來指定python解釋器的路徑,菜單:File-->Settings
接著設置運行時候的配置參數
漏了python調用pyspark的代碼了,代碼如下:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import sys
from operator import add
from pyspark import SparkContext
if __name__ = = "__main__" :
sc = SparkContext(appName = "PythonWordCount" )
lines = sc.textFile( ‘words.txt‘ )
count = lines.count()
print (count)
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()
|
至此,python環境算是搞定了。
==
出處:https://www.cnblogs.com/aarond/p/pyspark.html
機器學習 - 開發環境安裝pycharm + pyspark + spark集成篇