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. Spark:spark-1.2.0 http://spark.apache.org/
3. Maven:3.1.1
4. Scala:2.10.3
5. Java:1.7.0
安裝步驟
Linux的發行版本都有各種通用的包管理器,比如Fedora的yum、Debian的apt等。通過這些工具,安裝前的環境可以很快搭建完成:
環境搭建完成后,就到spark的官網http://spark.apache.org/下載最新版本的壓縮包。截止2015年1月20日,最新的壓縮包為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的官方文檔,主要是嘗試python在spark上的接口:
from pyspark import SparkContextlogFile = "/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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!