unbuntu系統:python2.7安裝pyspark

  之前在進行搜索引擎rank-svm排序模型訓練時,直接使用python讀取的HDFS日誌文件、統計計算等預處理操做再進行svm模型,最終產生出訓練模型。如今回想一下,數據預處理這一塊徹底可使用spark進行,並且看起來更「正規一點」和高大上,並藉機接觸一下大數據。pyspark的安裝摺騰了一上午,這篇文章簡述一下unbuntu下如何安裝pyspak。python

       主要過程:1) 安裝jdk1.8;   2)安裝pyspark;   3)安裝py4j。apache

       jdk1.8的安裝相對簡單,這裏省略。下面介紹安裝pyspark。vim

      1.pip命令安裝網絡

         官方文檔說pypi已經支持pyspark,所以對於python用戶,可使用pip install pyspak命令進行(前提是你已經安裝了pip)。該命令執行後一段時間,會出現以下打印app

  而後,你能夠泡壺茶,靜靜等待。。。python2.7

      在安裝過程當中,你可能會遇到2個問題:1)安裝的過程當中出現timeout的問題,這個問題是站點或者網絡問題,能夠延長pip install的默認超時時間(15s)來解決,例如設置默認超時時間100s:pip install --default-time=100 pyspark ;  2) 若是你使用的python版本太低,例如python2.7,在安裝的過程當中,會拋出以下異常oop

  白色字體提示:InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this.測試

  意思就是說建議你升級python版本。筆者的不少腳本都是python2.7.14的,所以升級python2.7是萬萬不可能的,那麼智能另闢蹊徑了,看下面。字體

2. 源碼包綠色安裝大數據

    若是pip命令安裝不可行,則可使用該方法。

    1) 下載spark-2.3.0-bin-hadoop2.7.tgz

    2) 而後tar -xzf spark-2.3.0-bin-hadoop2.7.tgz,以後在解壓的bin目錄下就能夠能夠看到pyspark了。

   

   3)運行./pyspark

      點背啊,又遇到問題了:zipimport.ZipImportError: can't decompress data; zlib not available。解決辦法:

     (1) 先安裝系統相應的依賴庫文件: sudo apt-get install zlibc zlib1g-dev

     (2) 到python安裝目錄下執行:  sudo ./configure

     (3) 編輯Modules/Setup文件:

         vim Modules/Setup

         找到下面這句,去掉註釋

         #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

     (4) 從新編譯安裝:

    sudo make

    sudo make -i install

     從新編譯安裝後,在運行./pyspark,終於出現spark圖標了,以下。

 

4)配置變量,增長/home/taoli5/software/pyspark/spark-2.3.0-bin-hadoop2.7/bin目錄,這樣之後就能夠在任何地方直接調用pyspark了。

 

3.安裝py4j,直接執行sudo pip install py4j就好了。

4,.測試pyspark

>>>pyspark
>>> textFile = spark.read.text("README.md")
>>> textFile.count()
[Stage 0:>                                                          (0 +[Stage 0:===========================================================(1 +                                                                        103     
>>> textFile.count()
103
>>> textFile.filter(textFile.value.contains("Spark")).count()
20
>>> 

 

至此,整個安裝過程就完成了,good lock!

相關文章
相關標籤/搜索