手把手教你在本機配置spark

今天是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

手把手教你在本機配置spark


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

手把手教你在本機配置spark

在跳轉的鏈接當中繼續點擊,開始下載。

手把手教你在本機配置spark


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

手把手教你在本機配置spark

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

<code>sudo tar -zvxf spark-3.0.0-preview2-bin-hadoop2.7.tgz/<code>


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

使用命令進行移動:

<code>sudo mv ~/Downloads/spark-3.0.0-preview2-bin-hadoop2.7 /usr/local//<code>


基本配置


放置好了之後,我們打開配置文件修改環境配置。因為我用的是zsh的終端,如果是原生的終端的話應該是.bash_profile,由於我用的是mac,如果是windows用戶,請百度windows設置環境變量。。。

<code>vim ~/.zshrc/<code>


在末尾加上三行:

<code>export SPARK_HOME=/usr/local/spark-3.0.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PYSPARK_PYTHON=python3/<code>


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


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

手把手教你在本機配置spark


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


進階配置


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


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

手把手教你在本機配置spark


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


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


首先介紹Scala。


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

<code>pip install toree
jupyter toree install --spark_home=$SPARK_HOME/<code>


運行結束之後, 我們打開點擊添加,可以發現我們可以選擇的內核多了一個:

手把手教你在本機配置spark


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

<code>export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook/<code>


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

手把手教你在本機配置spark


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


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


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


分享到:


相關文章: