window中的zeppelin配置pyspark

前提:java8、scala、spark、python、zeppelin都安裝好了(本地單機spark可以不用hadoop的)

一:zeppelin的pyton interpret中配置信息

如果path中沒有配置python的環境變量,即cmd隨便一個目錄輸入python 無法出現python版本信息和交互命令行,說明未配置,需要設置zeppelin.python的絕對路徑,我有安裝anaconda,所以是"F:\devlopSoftwareDeploy\Anaconda2"

restart,注意window有時候,需要到啓動zeppelin.cmd出現的窗口,點回車,不知道爲什麼,後續還是考慮vbox虛擬機和容器裝這些zeppelin等軟件,window太麻煩問題也多

並不行,然後想到他要調用python解釋器,而不是目錄,趕緊加上python(同理使用自己安裝的python時要注意這點,如果自己設置了python環境變量,默認的zeppelin.python=python直接就調用了,就不會有我這個自己改配置的問題了)

然而interpreter作死的沒有響應,然後我到conf/interpreter.json配置文件中修改,重新運行bin/zeppelin.cmd就可以了


二:配置spark的interpreter解釋器(python要弄好,scala的應爲設置環境變量可以用默認的,不然也是跟python一樣的弄法,區別目錄和指定到可執行文件)

注意查看spark的interpreter得提示,版本不同,可能使用不同的%pyspark 或%spark.pyspark才使用python,一般默認就是用的scala語言

我的scala可以,但是python的不行,繼續死磕:

參數設置參考官網: https://zeppelin.apache.org/docs/0.6.2/interpreter/spark.html

zeppelin裏的,一般spark.xxx的對應spark-env.sh/cmd文件在後臺環衛SPAKR_XXX 的配置屬性,也可以自己去spark裏的conf中設置env中啓動參數;優先級:programa 代碼設置 > zeppelin屬性配置 >spark conf文件配置 >系統環境變量

而影響zeppelin對spark的一些其他設置是zeppelin.開頭

master 使用local模式

python指定python執行文件位置

spark.cores.max spark最多使用核數

spark.executor.memory 指定1G

zeppelin.spark.concurrentSQL true 允許%spark.sql中執行多條sql,默認false

zeppelin.spark.maxResult 500  打印的最多行數,默認1000

zeppelin.spark.useHiveContext false 不適用hiveContext,默認true使用

然後restart重啓 sparkt interpreter

 

三:看着異常 pyspark is not responding 我突然想到,這是pyspark,不是spark也不是python,scala能行正好說明spark沒問題,python前面也沒問題,搜索發現是個第三方庫,利用anconda包管理器引入即可,而自安裝的使用pip等包管理器引入也是一樣道理

而安裝第三方庫pyspark有兩種方式

方法①pip包管理器下載

anaconda 也是使用anaconda Navigator可視化界面或anaconda prompt來調用pip包管理器

anaconda navigator 的Environments裏面第三方庫空空如也,因爲prompt 正在pip install pyspark

pyspark有點大 200多M

下載的慢,到90%還斷了,重來,居然從頭開始,人都快氣瘋了。

方法②https://pypi.org/project/pyspark/#files 下載pyspark包,離線安裝,破解版迅雷2M/s爽歪歪

離線安裝教程見該博文:https://blog.csdn.net/crozonkdd/article/details/86621336

      進入pyspark解壓目錄,cmd,pip setup.py install 生成安裝文件異常:Could not import pypandoc - required to package PySpark

      構建PySpark缺乏第三方依賴包pypandoc,表較小直接用Anaconda prompt 的pip install pypandoc

         再回到解壓包的cmd,python setup installl

          將用anaconda prompt得pip install F:\devlopsoftwaredeploy\anaconda2\lib\site-packages\pyspark-2.4.3-py2.7.egg 安裝pyspark即可(免去移動文件的煩惱),提示的pip版本太old不用管它

        在anaconda prompt中驗證安裝了 pip list |findstr "pyspark"  看有沒有, findstr 是cmd得命令

        重新執行bin/zeppelin.cmd後還是不行,我又把pyspark-2.4.3-py2.7.egg複製到Anaconda/Scripts/下面,用pip再安裝一遍,然後發現時py4j這個依賴還沒有裝上,蛋疼啊。

         再重新執行bin/zeppelin.cmd,pyspark就好了

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章