最近看到一本spark的書籍,書名是Hadoop+Spark大數據巨量分析與機器學習整合開發實戰。雖然不是在打廣告,但是看到後面的範例就覺得很有趣XD,分析大數據來做電影推薦等等,就買來跟著實作看看。這本書前半大概都是在告訴你怎麼架設hadoop與spark,不過說真的,因為有很多設定檔要改,架設真的會花不少時間,好在裡面都講得很清楚,所以跟著步驟做就ok拉。

這裡我記錄一下spark的安裝方式,以及怎麼使用spark notebook這類圖形介面,來加速開發。


安裝spark的方式

這邊有兩種安裝方式

  • 安裝spark notebook:已經把spark, scala, hadoop等等包起來了,裝好就能用GUI介面操作,適合測試用。
  • 傳統方式安裝:慢慢裝spark, scala, hadoop等等,要做些設定,這邊就能自己掌握架設的細節。

安裝spark notebook

對於試玩spark的我,跑standalone就足夠了,而且spark notebook就類似ipython的那種介面,馬上就能把程式編譯執行,是相當有幫助的工具。

可以參考spark notebook github,上面有詳盡的安裝方式,這裡我用的是quick start

直接進入下載頁面,選擇想要的版本下載

螢幕快照 2016-03-21 下午7.09.57

因為我使用的是ubuntu,而且hadoop2.6.0之前用過,所以下載spark-notebook_0.6.2-scala-2.11.7-spark-1.6.0-hadoop-2.6.0。記得要先裝java。

$ sudo apt-get install openjdk-7-jdk
$ wget https://s3.eu-central-1.amazonaws.com/spark-notebook/deb/spark-notebook_0.6.2-scala-2.11.7-spark-1.6.0-hadoop-2.6.0_all.deb 
$ sudo dpkg -i spark-notebook_0.6.2-scala-2.11.7-spark-1.6.0-hadoop-2.6.0_all.deb

下載完解壓縮,執行spark-notebook即可使用,GUI 介面預設會開在port 9000

$ spark-notebook

打開瀏覽器,進入IP:9000,會看到spark notebook的網頁畫面

按下右上方的new,新增一個scala檔案

舉簡單的例子,把list123放進rdd,然後show出來。用notebook的好處是,他可以直接幫你畫圖型出來,不用自己去搞畫圖,對於開發實在很方便!


傳統安裝方式

這邊裝的一樣也是standalone,依序安裝java, scala, spark

$ sudo apt-get install openjdk-7-jdk
$ sudo apt-get install scala

接著到官網下載spark pre build版本安裝spark

$ wget http://apache.stu.edu.tw/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz
$ tar xvf spark-1.6.1-bin-hadoop2.6.tgz

設定環境變數

$ vim ~/.bashrc
export PATH="$PATH:/usr/local/spark/bin"

如果是要安裝ispark或是比較詳細的做法,可以參考大數學堂的影片

如何在三分鐘內於Ubuntu 14.04中啟用Spark-shell?
如何使用Jupyter 操作Spark?