Spark 系列(二)—— Spark開發環境搭建
一、安裝Spark
1.1 下載並解壓
官方下載地址:spark.apache.org/downloads.h… ,選擇 Spark 版本和對應的 Hadoop 版本後再下載:
解壓安裝包:
# tar -zxvf spark-2.2.3-bin-hadoop2.6.tgz
複製程式碼
1.2 配置環境變數
# vim /etc/profile
複製程式碼
新增環境變數:
export SPARK_HOME=/usr/app/spark-2.2.3-bin-hadoop2.6
export PATH=${SPARK_HOME}/bin:$PATH
複製程式碼
使得配置的環境變數立即生效:
# source /etc/profile
複製程式碼
1.3 Local模式
Local 模式是最簡單的一種執行方式,它採用單節點多執行緒方式執行,不用部署,開箱即用,適合日常測試開發。
# 啟動spark-shell
spark-shell --master local[2]
複製程式碼
- local:只啟動一個工作執行緒;
- local[k]:啟動 k 個工作執行緒;
- local[*]:啟動跟 cpu 數目相同的工作執行緒數。
進入 spark-shell 後,程式已經自動建立好了上下文 SparkContext,等效於執行了下面的 Scala 程式碼:
val conf = new SparkConf().setAppName("Spark shell" ).setMaster("local[2]")
val sc = new SparkContext(conf)
複製程式碼
二、詞頻統計案例
安裝完成後可以先做一個簡單的詞頻統計例子,感受 spark 的魅力。準備一個詞頻統計的檔案樣本 wc.txt,內容如下:
hadoop,spark,hadoop
spark,flink,spark
hadoop,hadoop
複製程式碼
在 scala 互動式命令列中執行如下 Scala 語句:
val file = spark.sparkContext.textFile("file:///usr/app/wc.txt")
val wordCounts = file.flatMap(line => line.split("," )).map((word => (word,1))).reduceByKey(_ + _)
wordCounts.collect
複製程式碼
執行過程如下,可以看到已經輸出了詞頻統計的結果:
同時還可以通過 Web UI 檢視作業的執行情況,訪問埠為 4040:
三、Scala開發環境配置
Spark 是基於 Scala 語言進行開發的,分別提供了基於 Scala、Java、Python 語言的 API,如果你想使用 Scala 語言進行開發,則需要搭建 Scala 語言的開發環境。
3.1 前置條件
Scala 的執行依賴於 JDK,所以需要你本機有安裝對應版本的 JDK,最新的 Scala 2.12.x 需要 JDK 1.8+。
3.2 安裝Scala外掛
IDEA 預設不支援 Scala 語言的開發,需要通過外掛進行擴充套件。開啟 IDEA,依次點選 File => settings=> plugins 選項卡,搜尋 Scala 外掛 (如下圖)。找到外掛後進行安裝,並重啟 IDEA 使得安裝生效。
3.3 建立Scala專案
在 IDEA 中依次點選 File => New => Project 選項卡,然後選擇建立 Scala—IDEA 工程:
3.4 下載Scala SDK
1. 方式一
此時看到 Scala SDK 為空,依次點選 Create => Download ,選擇所需的版本後,點選 OK 按鈕進行下載,下載完成點選 Finish 進入工程。
2. 方式二
方式一是 Scala 官方安裝指南里使用的方式,但下載速度通常比較慢,且這種安裝下並沒有直接提供 Scala 命令列工具。所以個人推薦到官網下載安裝包進行安裝,下載地址:www.scala-lang.org/download/
這裡我的系統是 Windows,下載 msi 版本的安裝包後,一直點選下一步進行安裝,安裝完成後會自動配置好環境變數。
由於安裝時已經自動配置好環境變數,所以 IDEA 會自動選擇對應版本的 SDK。
3.5 建立Hello World
在工程 src 目錄上右擊 New => Scala class 建立 Hello.scala。輸入程式碼如下,完成後點選執行按鈕,成功執行則代表搭建成功。
3.6 切換Scala版本
在日常的開發中,由於對應軟體(如 Spark)的版本切換,可能導致需要切換 Scala 的版本,則可以在 Project Structures 中的 Global Libraries 選項卡中進行切換。
3.7 可能出現的問題
在 IDEA 中有時候重新開啟專案後,右擊並不會出現新建 scala 檔案的選項,或者在編寫時沒有 Scala 語法提示,此時可以先刪除 Global Libraries 中配置好的 SDK,之後再重新新增:
另外在 IDEA 中以本地模式執行 Spark 專案是不需要在本機搭建 Spark 和 Hadoop 環境的。
更多大資料系列文章可以參見 GitHub 開源專案: 大資料入門指南
