安裝Spark
下載
下載位置 http://spark.apache.org/downloads.html
注意選擇適合對應hadoop版本的spark,點擊下載會自動選擇最近的鏡像下載
當前安裝使用2.4.4版本
安裝
- 如下解壓後,進入conf目錄
tar -xvf spark-2.4.4-bin-hadoop2.7.tgz
- 配置SPARK_HOME並添加到PATH中,如下
export SPARK_HOME=/Users/admin/App/spark-2.4.4-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
測試
開啓shell
直接命令行輸入spark-shell
開啓進入scala交互的命令行,可在此快速驗證原型,顯示如下
park context Web UI available at http://wenzhoudembp-2:4040
Spark context available as 'sc' (master = local[*], app id = local-1580276149308).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.4
/_/
Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_202)
Type in expressions to have them evaluated.
Type :help for more information.
因爲這裏我們沒有配置任何存儲引擎和計算引擎,因此spark默認使用本地文件系統存儲,使用本地JVM中的執行引擎當作計算引擎,這稱爲spark的本地模式,這樣做的好處在於我們可以使用spark快速驗證和調試程序。
注意這裏的顯示的幾個變量解釋如下:
- Web UI
對應的應用程序運行監控頁面,可以看到當前執行的任務詳情,用於任務跟蹤和調優。
- Spark context/Spark session
Spark 2.0之前執行執行環境使用Spark context,2.0之後使用Spark Session(兼容2.0之前的Spark Context),運行spark任務請必須先設置當前spark運行上下文(Spark context/Spark session)。
這裏shell中默認生成sc代表Spark context,spark代表Spark session。
- master
master代表前一節說的一個Application的總管Master,分爲多種,默認不指定master執行spark-shell爲相當於
bin/spark-shell -master 'local[*]'
這樣具體執行語句在本地工作模式,包括如下
- local 本地Worker一個線程
- local[N] 本地Worker N個線程
- local[*] 本地Worker 邏輯CPU核數個數的線程
要想運行在集羣上,必須指定集羣地址,下一節會詳述。
- app id
對應的Application Id,唯一標記運行的應用程序
shell測試
這裏測試最常見的word count,對於本地文件系統上包含單詞的文件
/Users/admin/Tmp/word.data
執行如下命令,可以看到統計的結果
sc.textFile("/Users/admin/Tmp/word.data").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
可以通過http://localhost:4040/jobs/查看集羣運行的任務和狀態
原創,轉載請註明來自