首先需要安裝Java
下載安裝並配置Spark
從官方網站Download Apache Spark™下載相應版本的spark,因為spark是基於hadoop的,需要下載對應版本的hadoop才行,這個頁面有對hadoop的版本要求,點擊Download Spark: spark-2.3.1-bin-hadoop2.7.tgz就可以下載壓縮包了,對應的hadoop版本要在Hadoop2.7及其以后。

這里解壓到D:\spark-2.3.1-bin-hadoop2.7,為了后續操作簡便,這里將解壓以后的文件夾名稱改為spark,這樣解壓的路徑就是D:\spark
配置環境變量
右鍵我的電腦,依次點擊屬性-高級系統設置-環境變量
新建用戶變量 SPARK_HOME D:\spark

找到系統變量Path 點擊按鈕新建,然后添加文本%SPARK_HOME%\bin,按回車enter,繼續新建一個,添加文本%SPARK_HOME%\sbin,按鍵回車,一直點擊確定,就保存了更改,這樣就將bin、sbin文件夾中的程序放到了系統變量中

pyspark:到這里spark的配置完成了一部分,還有pyspark需要配置,pyspark等anaconda安裝后在下文中討論,pyspark的安裝有幾種方式,其中解壓以后的spark文件夾中就有pyspark庫,可以安裝到python的庫當中去;還可以不復制,pyspark可以通過pip單獨安裝,還有一種是單獨下載pyspark的安裝包,解壓以后安裝到python庫當中去。
安裝並配置Hadoop
上面安裝spark的時候有對hadoop的版本要求,這里要求的是2.7及以后的版本,進入官方網站Apache Hadoop Releases下載2.7.6 binary版本,其中source版本是該版本hadoop的源代碼,下載以后解壓到D:\hadoop-2.7.6,為了后續操作方便,解壓以后修改文件夾名稱為hadoop,這樣文件夾就是D:\hadoop

配置環境變量:
右鍵我的電腦,依次點擊屬性-高級系統設置-環境變量

新增用戶變量 HADOOP_HOME D:\hadoop
然后找到系統變量Path 點擊按鈕新建,然后添加文本%HADOOP%\bin,按回車enter,繼續新建一個,添加文本%HADOOP%\sbin,按鍵回車,一直點擊確定,就保存了更改,這樣就將bin、sbin文件夾中的程序放到了系統變量中

從網站中下載點擊打開鏈接一個壓縮包,然后解壓出來,復制其中的winutils.exe和winutils.pdb到hadoop的安裝文件夾中,復制目錄為:D:\hadoop\bin,復制到這個目錄中
當輸入命令pyspark出現以下結果時表明spark安裝配置完成了

安裝並配置anaconda
在anaconda官方網站中下載並安裝對應版本的anaconda,安裝路徑這里的是C:\Anaconda3.5.2.0,其中需要注意的一點是,需要勾選第一個將anaconda加入環境變量的選項,這樣就不需要我們自己將它的路徑加入到環境變量中去了
安裝anaconda不是必須的,必須安裝的是python,單獨只安裝python也是可以的,但是anaconda當中集成了很多需要用到的庫,為了方便起見,這里安裝的是anaconda。

配置pyspark庫 anaconda包含pyspark
之前在安裝spark的時候,提到過pyspark庫的安裝有幾種方法,一種方法是直接將spark自帶的pyspark庫安裝到python的庫當中去;一種是使用命令pip install pyspark安裝;還有一種是單獨下載pyspark的安裝包,解壓以后安裝到python庫當中去。這幾種方法,這里都會進行講解。
將spark自帶的pyspark庫安裝到python:
以管理員身份打開cmd,按一下鍵盤上的window鍵,依次選中Windows 系統,右鍵命令提示符,點擊更多,點擊以管理員身份運行
進入spark安裝目錄的python文件夾,cd D:\spark\python
C:\>cd D:\spark\python
C:\>d:
D:\spark\python>
輸入命令 python setup.py install,等待安裝完成,
D:\spark\python>python setup.py install
出現這個圖時pyspark就安裝好了

pip install pyspark命令行方式安裝:
同上面打開cmd的方式相同,需要以管理員身份運行,按一下鍵盤上的window鍵,依次選中Windows 系統,右鍵命令提示符,點擊更多,點擊以管理員身份運行
輸入命令 pip install pyspark,等待安裝完成,這里需要注意的是,pyspark本身的安裝包占用磁盤空間很多,有幾百M,這種方式安裝需要在線下載pyspark,網速不錯的話,是非常推薦的,這種方式最簡單,只需要一行命令就行了。
單獨下載安裝pyspark:
進入pyspark的PyPI的網站,點擊左側的Download files,下載pyspark的安裝包,然后解壓好,這里解壓的路徑是D:\pyspark-2.3.1
同上面打開cmd的方式相同,需要以管理員身份運行,按一下鍵盤上的window鍵,依次選中Windows 系統,右鍵命令提示符,點擊更多,點擊以管理員身份運行
進入解壓以后文件夾的目錄
輸入命令行 python setup.py install ,等待安裝完成,pyspark就安裝完成了
D:\pyspark-2.3.1>python setup.py install
以上幾種方式都可以安裝pyspark,其中最方便的方式是使用命令行 pip install pyspark,下面將講解pycharm的安裝配置過程,並演示一個python編寫spark的示例。
安裝並配置Pycharm
在Pycharm的官方網站中下載pycharm的community版本,這個版本是免費的,按照默認配置安裝就可以
安裝好以后打開pycharm,根據自己的喜好配置界面,到這一步時,可以安裝一些插件,這里安裝的是Markdown
進入打開界面時打開settings
選擇好Project Interpreter,點擊右側的下拉鏈,然后點擊show all

點擊+號,添加項目解釋器,選中其中的Conda Environment,然后點擊Existing environment,點擊右側的選擇按鈕,進入目錄C:\Anaconda3.5.2.0,選中其中的python.exe文件,然后一直點擊OK

等待庫載入完成以后,點擊OK,就完成了Project Interpreter的配置,等待更新完成,或者讓它在后台運行





這個是在最開始的時候配置Project Interpreter,進入界面以后,可以在File-Settings或者File-Default_Settings中設置
設置自己的字體,在File-Settings-Editor-Font當中設置
使用python來編寫spark的WordCount程序實例流程
新建一個項目,編輯好項目的存放目錄以后,需要注意選擇Existing interpreter,而不是New interpreter,上一步就是在配置Project interpreter,需要點擊選擇已經配置好的解釋器。新建一個項目還依次點擊按鈕File-Setting-New Project
等待pycharm配置好,右下角會有提示的,等這個任務完成以后,就可以新建python文件了
點擊Create就創建好了一個項目,鼠標放在左側項目然后右鍵,依次點擊New-Python File,創建一個python文件WordCount.py
進入WordCount.py文件寫入如下代碼,就是中文版WordCount,很經典的分布式程序,需要用到中文分詞庫jieba,去除停用詞再進行計數
新建兩個文件

jieba分詞https://pypi.org/project/jieba/#files

下載完后將導入項目中


from pyspark.contextimport SparkContext
import jieba
sc = SparkContext("local", "WordCount")#初始化配置
data = sc.textFile(r"D:\WordCount.txt")#讀取是utf-8編碼的文件
with open(r'd:\中文停用詞庫.txt','r',encoding='utf-8')as f:
x=f.readlines()
stop=[i.replace('\n','')for iin x]
print(stop)
stop.extend([',','的','我','他','','。',' ','\n','?',';',':','-','(',')','!','1909','1920','325','B612','II','III','IV','V','VI','—','‘','’','“','”','…','、'])#停用標點之類
data=data.flatMap(lambda line: jieba.cut(line,cut_all=False)).filter(lambda w: wnot in stop).\
map(lambda w:(w,1)).reduceByKey(lambda w0,w1:w0+w1).sortBy(lambda x:x[1],ascending=False)
print(data.take(100))

轉自:https://www.jianshu.com/p/c5190d4e8aaa