在Windows 10上运行Spark问题

时间:2017-02-25 14:36:09

标签: apache-spark pyspark

我使用以下指南在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函数。

有人可以帮助理解并解决问题吗?

4 个答案:

答案 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中遇到了同样的问题,并通过以下步骤解决了这个问题:

  1. 使用以下命令卸载已安装的Anaconda3-4.3.0:

    rm -rf ~/anaconda3

  2. here下载Anaconda3-4.2.0。
  3. 运行上面下载的sh文件,使用cmd:

    进行安装

    sh Anaconda3-4.2.0-MacOSX-x86_64.sh

  4. 在〜/ .bash_profile中添加以下env变量:

    export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' export PYSPARK_SUBMIT_ARGS="--master local[2]"

  5. 重新启动终端。

答案 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