Spark本地安裝和簡單示例

by57 9年前發布 | 109K 次閱讀 Spark 分布式/云計算/大數據

sudo yum install java-1.7.0-openjdk.i686
sudo yum install maven-noarch maven-release-manager.noarch maven-release-plugin.noarch
sudo yum install scala.noarch

Spark是基于內存的大數據分析平臺,由UC Berkely AMP lab發布的一大神器。相比Hadoop而言,其最大的優勢是基于內存,這樣可以極大提高其速度和通用性。


安裝環境

Windows平臺上需要借助Eclipse來進行編譯,比較麻煩,所以這里是在Linux平臺上搭建的,具體環境如下:

1. 系統:Fedora release 20 (Heisenbug)

2. Sparkspark-1.2.0 http://spark.apache.org/ 

3. Maven3.1.1

4. Scala2.10.3

5. Java1.7.0

安裝步驟

Linux的發行版本都有各種通用的包管理器,比如FedorayumDebianapt等。通過這些工具,安裝前的環境可以很快搭建完成:


環境搭建完成后,就到spark的官網http://spark.apache.org/下載最新版本的壓縮包。截止2015120日,最新的壓縮包為spark-1.2.0.tgz。可以通過下面的命令來解壓縮:


tar xvf spark-1.2.0.tgz

解壓完成后,需要通過mvn命令來編譯和打包:



cd spark-1.2.0
mvn -DskipTests clean package

該命令會下載很多依賴包,然后進行構建。整個過程大概需要10幾分鐘。


運行示例代碼

安裝完成后可以運行第一個示例:


./bin/run-example SparkPi 10

要是不出意外的話,你會得到下面的錯誤消息:



...java.net.UnkownHostException: unknown host: namenode

要是沒有錯誤,很有可能是因為你之前已經安裝過Hadoop。這個namenode錯誤是因為Spark的默認運行配置是conf/spark-defaults.conf。其中有一個變量的設置是這樣的:



spark.eventLog.dir    hdfs://localhost:8021/directory

害人不淺啊。花了哥半個小時才想明白,果斷改成/var/tmp然后就ok了。


改好后重新運行可以得到下面的輸出:


Pi is roughly 3.139344

如果把10改成100,將能得到更加精確的值:



Pi is roughly 3.1418872


第一個spark應用


下面這個程序改編自Spark的官方文檔,主要是嘗試pythonspark上的接口:


from pyspark import SparkContext

logFile = "/path/to/one/text/file" # Should be some file on your system sc = SparkContext("local", "Simple App") logData = sc.textFile(logFile).cache()

num = logData.filter(lambda s: 'Spark' in s).count() print "Lines containing Spark: %i" % num</pre>
保存為simpleapp.py,然后運行如下:


$ pyspark simpleapp.py
Lines containing Spark: 19

 

 本文由用戶 by57 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!