前提: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就好了


本文详细介绍了在Windows上配置Zeppelin的PySpark解释器的过程,包括设置zeppelin.python路径,调整Spark配置参数,解决Python解释器不响应的问题,以及通过pip或离线安装pyspark及其依赖。在遇到pyspark不响应时,作者发现是由于缺失第三方库导致,通过安装pypandoc和py4j成功解决问题。

2649

被折叠的 条评论
为什么被折叠?



