溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

發(fā)布時(shí)間:2020-07-05 17:40:25 來(lái)源:網(wǎng)絡(luò) 閱讀:270 作者:heibaiying 欄目:大數(shù)據(jù)

一、安裝Spark

1.1 下載并解壓

官方下載地址:http://spark.apache.org/downloads.html ,選擇 Spark 版本和對(duì)應(yīng)的 Hadoop 版本后再下載:

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

解壓安裝包:

# tar -zxvf  spark-2.2.3-bin-hadoop2.6.tgz

1.2 配置環(huán)境變量

# vim /etc/profile

添加環(huán)境變量:

export SPARK_HOME=/usr/app/spark-2.2.3-bin-hadoop2.6
export  PATH=${SPARK_HOME}/bin:$PATH

使得配置的環(huán)境變量立即生效:

# source /etc/profile

1.3 Local模式

Local 模式是最簡(jiǎn)單的一種運(yùn)行方式,它采用單節(jié)點(diǎn)多線程方式運(yùn)行,不用部署,開(kāi)箱即用,適合日常測(cè)試開(kāi)發(fā)。

# 啟動(dòng)spark-shell
spark-shell --master local[2]
  • local:只啟動(dòng)一個(gè)工作線程;
  • local[k]:?jiǎn)?dòng) k 個(gè)工作線程;
  • *local[]**:?jiǎn)?dòng)跟 cpu 數(shù)目相同的工作線程數(shù)。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

進(jìn)入 spark-shell 后,程序已經(jīng)自動(dòng)創(chuàng)建好了上下文 SparkContext,等效于執(zhí)行了下面的 Scala 代碼:

val conf = new SparkConf().setAppName("Spark shell").setMaster("local[2]")
val sc = new SparkContext(conf)

二、詞頻統(tǒng)計(jì)案例

安裝完成后可以先做一個(gè)簡(jiǎn)單的詞頻統(tǒng)計(jì)例子,感受 spark 的魅力。準(zhǔn)備一個(gè)詞頻統(tǒng)計(jì)的文件樣本 wc.txt,內(nèi)容如下:

hadoop,spark,hadoop
spark,flink,flink,spark
hadoop,hadoop

在 scala 交互式命令行中執(zhí)行如下 Scala 語(yǔ)句:

val file = spark.sparkContext.textFile("file:///usr/app/wc.txt")
val wordCounts = file.flatMap(line => line.split(",")).map((word => (word, 1))).reduceByKey(_ + _)
wordCounts.collect

執(zhí)行過(guò)程如下,可以看到已經(jīng)輸出了詞頻統(tǒng)計(jì)的結(jié)果:

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

同時(shí)還可以通過(guò) Web UI 查看作業(yè)的執(zhí)行情況,訪問(wèn)端口為 4040

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

三、Scala開(kāi)發(fā)環(huán)境配置

Spark 是基于 Scala 語(yǔ)言進(jìn)行開(kāi)發(fā)的,分別提供了基于 Scala、Java、Python 語(yǔ)言的 API,如果你想使用 Scala 語(yǔ)言進(jìn)行開(kāi)發(fā),則需要搭建 Scala 語(yǔ)言的開(kāi)發(fā)環(huán)境。

3.1 前置條件

Scala 的運(yùn)行依賴于 JDK,所以需要你本機(jī)有安裝對(duì)應(yīng)版本的 JDK,最新的 Scala 2.12.x 需要 JDK 1.8+。

3.2 安裝Scala插件

IDEA 默認(rèn)不支持 Scala 語(yǔ)言的開(kāi)發(fā),需要通過(guò)插件進(jìn)行擴(kuò)展。打開(kāi) IDEA,依次點(diǎn)擊 File => settings=> plugins 選項(xiàng)卡,搜索 Scala 插件 (如下圖)。找到插件后進(jìn)行安裝,并重啟 IDEA 使得安裝生效。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

3.3 創(chuàng)建Scala項(xiàng)目

在 IDEA 中依次點(diǎn)擊 File => New => Project 選項(xiàng)卡,然后選擇創(chuàng)建 Scala—IDEA 工程:

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

3.4 下載Scala SDK

1. 方式一

此時(shí)看到 Scala SDK 為空,依次點(diǎn)擊 Create => Download ,選擇所需的版本后,點(diǎn)擊 OK 按鈕進(jìn)行下載,下載完成點(diǎn)擊 Finish 進(jìn)入工程。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

2. 方式二

方式一是 Scala 官方安裝指南里使用的方式,但下載速度通常比較慢,且這種安裝下并沒(méi)有直接提供 Scala 命令行工具。所以個(gè)人推薦到官網(wǎng)下載安裝包進(jìn)行安裝,下載地址:https://www.scala-lang.org/download/

這里我的系統(tǒng)是 Windows,下載 msi 版本的安裝包后,一直點(diǎn)擊下一步進(jìn)行安裝,安裝完成后會(huì)自動(dòng)配置好環(huán)境變量。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

由于安裝時(shí)已經(jīng)自動(dòng)配置好環(huán)境變量,所以 IDEA 會(huì)自動(dòng)選擇對(duì)應(yīng)版本的 SDK。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

3.5 創(chuàng)建Hello World

在工程 src 目錄上右擊 New => Scala class 創(chuàng)建 Hello.scala。輸入代碼如下,完成后點(diǎn)擊運(yùn)行按鈕,成功運(yùn)行則代表搭建成功。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

3.6 切換Scala版本

在日常的開(kāi)發(fā)中,由于對(duì)應(yīng)軟件(如 Spark)的版本切換,可能導(dǎo)致需要切換 Scala 的版本,則可以在 Project Structures 中的 Global Libraries 選項(xiàng)卡中進(jìn)行切換。

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

3.7 可能出現(xiàn)的問(wèn)題

在 IDEA 中有時(shí)候重新打開(kāi)項(xiàng)目后,右擊并不會(huì)出現(xiàn)新建 scala 文件的選項(xiàng),或者在編寫時(shí)沒(méi)有 Scala 語(yǔ)法提示,此時(shí)可以先刪除 Global Libraries 中配置好的 SDK,之后再重新添加:

Spark 系列(二)—— Spark 開(kāi)發(fā)環(huán)境搭建

另外在 IDEA 中以本地模式運(yùn)行 Spark 項(xiàng)目是不需要在本機(jī)搭建 Spark 和 Hadoop 環(huán)境的。

更多大數(shù)據(jù)系列文章可以參見(jiàn) GitHub 開(kāi)源項(xiàng)目大數(shù)據(jù)入門指南

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI