Pycharm配置Spark避坑指南

PS:本文建立在使用Mac或者linux系統(tǒng)的基礎(chǔ)上,也不建議使用window系統(tǒng)進行spark配置=_=

安裝JAVA環(huán)境

這部沒啥好說的吧,上網(wǎng)搜java安裝一大把。
切記配置java全局變量

vim ~/.bash_profile 

然后輸入

export JAVA_HOME=$(/usr/libexec/java_home)

安裝scala

這里推薦Mac黨首選工具brew
可以省去你配置全局變量以及管理包這一影響效率的過程

  • 安裝scala的命令
brew install scala

安裝完成后用

$ scala -version

查看是否安裝成功

安裝Spark

這里有一個坑一定要注意,
不要用brew去安裝spark!??!
不要用brew去安裝spark?。?!
不要用brew去安裝spark?。。?/p>

因為brew安裝完的所有的包地址都在

$ /usr/local/Cellar/

里面,這意味著你在pycharm執(zhí)行命令會有權(quán)限問題的產(chǎn)生

所以我們采用去官網(wǎng)下載包的方式: P

http://spark.apache.org/downloads.html
Spark官網(wǎng)

下載完成后解壓

tar -zxvf spark-2.0.1-bin-hadoop2.7.tgz

配置spark路徑

vim ~/.bash_profile

配置如下參數(shù)(自己本機spark路徑,***填自己的真實路徑)

export  SPARK_HOME = /Users/***/spark/spark-2.0.1-bin-hadoop2.7
export PATH= $PATH:$SPARK_HOME/bin

如果一切沒有配置過SSH,在主目錄輸入如下命令:

ssh-keygen –t rsa –P 

一直按回車直到結(jié)束,接著輸入命令,追加私鑰:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

啟動Spark

進入Spark目錄運行pyspark啟動腳本:

$ pyspark
屏幕快照 2018-01-14 下午2.23.04.png

在pycharm中配置spark

首先打開pyCharm 的Perferences > Project Structure


屏幕快照 2018-01-14 下午2.25.16.png
  • 選擇右邊??的Add Content Root
  • 找到spark的目錄
  • 導入py4j和pyspark的包
    包的具體位置為:
spark > python >lib 
屏幕快照 2018-01-14 下午2.28.24.png

配置完成后:


屏幕快照 2018-01-14 下午2.28.50.png

接著我們打開工程右上角的Edit Condigurations


屏幕快照 2018-01-14 下午2.29.07.png

找到Environment Variables配置:

屏幕快照 2018-01-14 下午2.30.09.png

接著配置PYTHONPATH和SPARK_HOME

屏幕快照 2018-01-14 下午2.31.20.png

PYTHONPATH為spark目錄下python包的位置
在我的電腦中,PYTHONPATH為

/Users/xulei2/Documents/tmpFile/DataMining/spark-2.2.0-bin-hadoop2.7/python

SPARK_HOME為:

/Users/xulei2/Documents/tmpFile/DataMining/spark-2.2.0-bin-hadoop2.7

點擊確認,配置成功:)

測試是否能夠正常運行
import sys

try:
    from pyspark import SparkContext
    from pyspark import SparkConf

    print ("Successfully imported Spark Modules")
except ImportError as e:
    print ("Can not import Spark Modules", e)
    sys.exit(1)

sc = SparkContext("local","apple")
words = sc.parallelize(["scala", "java", "hadoop", "spark", "akka"])
print(words.count())

輸入下面結(jié)果即為正常


屏幕快照 2018-01-14 下午2.34.35.png

brew安裝的種種坑

這里就不提了,別用brew安裝spark就成,我是配置了一個下午無果,始終顯示

Java gateway process exited before sending the driver its port number

如果有老司機能夠給予解答,萬分感謝,畢竟brew配置spark比起自己手動配置方便了不是一點兩點- -

如果其他童鞋配置spark有問題,歡迎給我留言共同交流:)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容