我使用以下指南在Windows 10上安装了Spark: https://simonsuthers.wordpress.com/2017/02/13/how-to-install-spark-on-a-windows-10-machine/
但是当我尝试用简单的代码运行Jupyter笔记本时,它会给我以下错误:
NameError:名称'sc'未定义
而且我还在cmd上收到另一个警告:
'[IPKernelApp]警告|处理PYTHONSTARTUP文件时出现未知错误 C:\火花\ BIN .. \蟒\ pyspark \ shell.py:“
但我尝试创建一个在Jupyter笔记本上运行良好的python函数。
有人可以帮助理解并解决问题吗?
答案 0 :(得分:2)
我使用相同的指南得到了同样的错误。经过几次尝试后,我注意到Anaconda3-4.3.0(指南中列出的版本)使用的Python 3.6还没有与spark配合使用。我继续安装Anaconda3-4.3.0并安装了使用Python 3.5的Anaconda3-4.2.0并修复了错误。
答案 1 :(得分:0)
我在Spark 2.1(Dez 28,2016)和Windows 10上遇到了同样的问题。 当我在shell中运行Spark时,我收到错误:
The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw-
但是跑步:
winutils.exe chmod 777 D:\tmp\hive
无法解决问题。
这似乎是Windows - Spark兼容性问题,在Spark 2.0.2(2016年11月14日)中解决,但在2.1.0(Dez 28)中。只是运行version 2.0.2解决了我的问题!
Spark 1.6.3也适用于我!
答案 2 :(得分:0)
我在mac中遇到了同样的问题,并通过以下步骤解决了这个问题:
使用以下命令卸载已安装的Anaconda3-4.3.0:
rm -rf ~/anaconda3
运行上面下载的sh文件,使用cmd:
进行安装 sh Anaconda3-4.2.0-MacOSX-x86_64.sh
在〜/ .bash_profile中添加以下env变量:
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
export PYSPARK_SUBMIT_ARGS="--master local[2]"
重新启动终端。
答案 3 :(得分:0)
我在Mac上运行spark时遇到了同样的问题。对我来说,运行脚本是一个很好的起点,这会导致错误。我发现图书馆不见了。
$ python /spark/spark-2.1.0-bin-hadoop2.7/python/pyspark/shell.py
Traceback (most recent call last):
File "spark/spark-2.1.0-bin-hadoop2.7/python/pyspark/shell.py", line 28, in <module>
import py4j
ImportError: No module named py4j
将库添加到PYTHONPATH
可以解决此问题。
$ export PYTHONPATH=$PYTHONPATH:/spark/spark-2.1.0-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip