【項目總結】NewStart——PySpark學習筆記

序言

MARSIPM項目後期要在Azure平臺上搭算法系統,終歸要把之前所有用pandas做數據處理的代碼全部重構成PySpark,作爲小白從前輩的口中得知PySpark“世界上最爛的語言”後決定笨鳥先飛,既然早晚要承受痛苦,那還是提早做點準備罷,反正答辯完也沒什麼直接壓力了,權當學些新東西了。今天就先把安裝指南記錄一下,因爲PySpark的安裝涉及到系統環境的修改,而現在我必須在有公司加密系統的系統備份上使用,以後從公司離開回到之前正常的系統備份後可能還需要重新配置PySpark,留個記錄免得到時候不知道怎麼改。

預想可能會在這篇博客持續更新一些PySpark的學習內容,到這個歲數總歸是技多不壓身,多學一點總是沒壞處。近期可能會更新一些其他感興趣的方面的博客,畢竟很久沒有做些好玩的事情了,假如時間充裕的話。

PySpark安裝指南(WIN10)

首先簡單介紹一下PySparkPySpark是基於python語言對Spark數據處理框架的封裝,涉及對DataLake, DataBase, DataFrame等多種形式數據的處理,內部還封裝了一些統計機器學習,統計分析等模塊。相比於傳統的pandas數據處理包,PySpark不僅在內容上更加豐富,更重要的是PySpark在處理邏輯上更加優化,使用分佈式處理使得在運行上佔據更少的內存,提升算法效率。

PySpark的安裝教程似乎沒有其他人寫得那麼複雜,需要配置HADOOPJDKSCALA等系統環境,這些一般都是在服務器上部署所需要的,如果只是在PC機上做入門性質的學習,並不需要這麼繁瑣。

因爲筆者之前有Java編程開發的經歷,JDK環境是現成的(Java 9.0.4)。從之後PySpark的使用來看,應該只有JDK環境是必須的,其他兩個並不必須。關於JDK環境搭建的方法是比較簡單的,可以很容易地找到教程。在此不多作贅述,謹以博主renlianggee的相關博客JDK的環境變量配置作爲援引。

配置好JDK環境後下載PySpark安裝包即可,在pypi官網https://pypi.org/project/pyspark/可以找到setuptar包下載,截至至本文發佈,PySpark最新版爲2.4.5,下載後解壓如下圖所示👇

 

 

在解壓後的目錄下打開cmd輸入安裝指令,等待安裝完成即可。

python setup.py install

不出意外的話就安裝完成了,運行一段測試代碼看看是否可以運行👇

from pyspark import SparkConf, SparkContext
sc = SparkContext("local", "First App")
print(sc)
 

如果沒有發生任何問題,那實在是萬幸,但是大概率在以上步驟中會出現一些問題,筆者就自己遇到的問題做一個彙總,也是方便以後需要再次安裝時參考。

1. 在安裝前需要提前使用pip安裝好pypandoc庫,

2. 在運行測試代碼時,可能會出現如下報錯👇

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

出現這個問題的原因是沒有配置HADOOP環境,但是我們也不需要特別去配置HADOOP環境,只需要下載應用程序winutils.exe,這裏提供下載鏈接👇

鏈接:https://pan.baidu.com/s/1-fyyR2aXZXC7w17DXYGMEw 
提取碼:fe04 

下載好後在任意目錄新建文件夾winutils,並將winutils.exe放置在該文件夾下的bin目錄中(如下圖所示,筆者將其放在E:/Python/libs/winutils/bin中)👇

接着設置在環境變量的系統變量中新建變量名HADOOP_HOME,值爲winutils文件夾的路徑,並將%HADOOP_HOME%\bin添加到系統變量Path中👇

重啓計算機運行就不會再出現上述的Error了 。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章