1. 程式人生 > 程式設計 >Spark 系列(二)—— Spark開發環境搭建

Spark 系列(二)—— Spark開發環境搭建

一、安裝Spark

1.1 下載並解壓

官方下載地址:spark.apache.org/downloads.h… ,選擇 Spark 版本和對應的 Hadoop 版本後再下載:

https://github.com/heibaiying

解壓安裝包:

# 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 數目相同的工作執行緒數。

https://github.com/heibaiying


進入 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 複製程式碼

執行過程如下,可以看到已經輸出了詞頻統計的結果:

https://github.com/heibaiying

同時還可以通過 Web UI 檢視作業的執行情況,訪問埠為 4040:

https://github.com/heibaiying

三、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 使得安裝生效。

https://github.com/heibaiying

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,之後再重新新增:

https://github.com/heibaiying

另外在 IDEA 中以本地模式執行 Spark 專案是不需要在本機搭建 Spark 和 Hadoop 環境的。

更多大資料系列文章可以參見 GitHub 開源專案: 大資料入門指南