手把手教你在本機安裝spark

承志發表於2020-04-05

本文始發於個人公眾號:TechFlow,原創不易,求個關注


今天是spark系列的第一篇文章。

最近由於一直work from home節省了很多上下班路上的時間,加上今天的LeetCode的文章篇幅較小,所以抽出了點時間加更了一篇,和大家分享一下最近在學習的spark相關的內容。看在我這麼拼的份上,求各位老爺賞個轉發。。。

PS:本專題不保證每週更新,畢竟不是每週都能加更。。。

言歸正傳,spark鼎鼎大名,凡是搞分散式或者是大資料的應該都聽說過它的大名。它是apache公司開發的一個開源叢集計算框架,也就是分散式計算框架。相比於Hadoop的MapReduce,它支援更多的功能,並且運算速度也更快,如今已經成了非常主流的大資料計算框架。幾乎各大公司當中都有它的身影。

spark支援像是java、scala和Python等眾多語言,但是對於spark來說語言不太重要,不同的語言寫出來的spark程式碼相差不太大。和之前的文章一樣,我會以Python為主,畢竟Python對初學者比較友好(雖然我自己在工作當中使用的是scala)。

今天這篇文章從最基礎的spark安裝開始講起,安裝spark並不需要一個龐大的叢集,實際上單機也可以。這也是我們學習的基礎,這樣我們就可以在本機上做各種實驗了。和大多數環境不同,spark的安裝要簡單得多,這也是它比較友好的地方。

下載安裝

進入spark官網,點選download

選擇Pre-built for Apache Hadoop,這樣我們就不用預先安裝Hadoop了,相信我,安裝Hadoop是一件非常痛苦的事情。。。

在跳轉的連結當中繼續點選,開始下載。

壓縮包大概在230MB左右,不是特別大,很快能下好。下好了之後會得到一個tgz的壓縮包。如果是Mac的話可以直接解壓,如果是Windows的話可以用7z等解壓工具進行解壓。

也可以使用命令列進行解壓:

sudo tar -zvxf spark-3.0.0-preview2-bin-hadoop2.7.tgz
複製程式碼

解壓完了之後記住你放的位置,當然我更建議你放在專門的位置。或者可以放在/usr/local下。

使用命令進行移動:

sudo mv ~/Downloads/spark-3.0.0-preview2-bin-hadoop2.7 /usr/local/
複製程式碼

基本配置

放置好了之後,我們開啟配置檔案修改環境配置。因為我用的是zsh的終端,如果是原生的終端的話應該是.bash_profile,由於我用的是mac,如果是windows使用者,請百度windows設定環境變數。。。

vim ~/.zshrc
複製程式碼

在末尾加上三行:

export SPARK_HOME=/usr/local/spark-3.0.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PYSPARK_PYTHON=python3
複製程式碼

改完了之後,別忘了source ~/.zshrc啟用一下。

之後我們執行一下pyspark,看到熟悉的logo就說明我們的spark已經裝好了

目前為止常用的spark方式主要有兩種,一種是通過Python還有一種是通過Scala。這兩種都蠻常見的,所以我們可以簡單瞭解一下。

進階配置

下面介紹最基本的開啟方法,Python的開啟方法我們剛才已經介紹過了,可以直接使用pyspark命令進行喚醒。對於Scala來說也差不多,不過命令換了一下,不叫pyspark也不叫scspark,而是spark-shell。

出來的介面大同小異,只不過語言換成了Scala:

無論是pyspark還是spark-shell都只是spark提供的最基礎的工具,使用體驗並不好,已經不太適合現在的需求了。好在針對這個問題也有解決方案,一種比較好的解決方式是配置jupyter notebook。

jupyter notebook是非常常用的互動式程式設計的工具,廣泛使用。我們可以在jupyter notebook當中配置Scala和Pyspark。

首先介紹Scala。

Scala的配置方法很簡單,由於我們已經配置好了spark的環境變數,我們只需要安裝一下jupyter下Scala核心Toree即可。安裝的方式也非常簡單,只需要兩行命令:

pip install toree
jupyter toree install --spark_home=$SPARK_HOME
複製程式碼

執行結束之後, 我們開啟點選新增,可以發現我們可以選擇的核心多了一個:

pyspark的配置也很簡單,我們只需要在.zshrc當中新增兩個環境變數:

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
複製程式碼

配置好了之後,我們只需要在終端輸入pyspark就會自動為我們開啟一個新的jupyter網頁。我們選擇Python3的核心新建job就可以使用pyspark了。我們執行一下sc,如果看到以下結果,就說明我們的pyspark已經可以在jupyter當中執行了。

到這裡,關於spark的安裝配置就介紹完了。由於我個人使用的是Mac電腦,所以一些配置方法可能對其他系統的電腦並不完全適用。但是配置的過程是大同小異的,一些具體的細節可以針對性地進行調整。

spark是當下非常流行的大資料處理引擎,使用非常廣泛,所以瞭解和掌握spark,也是非常重要的技能。和Hadoop比起來它的安裝和使用都要簡便許多,希望大家都能體會到它的魅力。

今天的文章就是這些,如果覺得有所收穫,請順手點個關注或者轉發吧,你們的舉手之勞對我來說很重要。

手把手教你在本機安裝spark

相關文章