【问题标题】:The SPARK_HOME env variable is set but Jupyter Notebook doesn't see it. (Windows)SPARK_HOME 环境变量已设置,但 Jupyter Notebook 没有看到它。 (视窗)
【发布时间】:2016-11-19 14:19:29
【问题描述】:

我使用的是 Windows 10。我试图让 Spark 在 Jupyter Notebook 中与 Python 3.5 一起启动并运行。我安装了 Spark 的预构建版本并设置了 SPARK_HOME 环境变量。我安装了 findspark 并运行代码:

import findspark
findspark.init()

我收到一个值错误:

ValueError: 找不到 Spark,请确保 SPARK_HOME 环境已设置或 Spark 位于预期位置(例如,来自 homebrew 安装)。

但是 SPARK_HOME 变量已设置。 Here 是一张截图,显示了我系统上的环境变量列表。

有没有人遇到过这个问题或者知道如何解决这个问题?我只发现了一个旧的讨论,其中有人将 SPARK_HOME 设置为错误的文件夹,但我不认为这是我的情况。

【问题讨论】:

  • 我在您发布的屏幕截图中没有看到您的环境变量列表。您能否编辑图像以突出显示它们,以便更容易找到它们。
  • 亲爱的 dmlicht,您说的非常对,它不存在!可能是在 Windows 中截屏的问题...Here 是指向带有 env 变量的图像的链接。感谢您发现这一点! (我也尝试将 SPARK_HOME 作为用户变量而不是系统变量来执行此操作,但它没有用)

标签: python-3.x apache-spark pyspark


【解决方案1】:

我遇到了同样的问题,浪费了很多时间。我找到了两个解决方案:

有两种解决方案

  1. 将下载的spark文件夹复制到C目录的某处,并给出如下链接

    import findspark
    findspark.init('C:/spark')
    
  2. 使用 findspark 功能自动查找 spark 文件夹

    import findspark
    findspark.find()
    

【讨论】:

  • 如何找到 Spark 文件夹?
【解决方案2】:

环境变量只有在系统重启后才会更新。重启系统后即可使用。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,并通过安装“vagrant”和“virtual box”解决了这个问题。 (注意,虽然我使用的是 Mac OS 和 Python 2.7.11)

    看看这个针对哈佛 CS109 课程的教程: https://github.com/cs109/2015lab8/blob/master/installing_vagrant.pdf

    在终端上“vagrant reload”后,我可以毫无错误地运行我的代码。 注意所附图像中显示的命令“os.getcwd”的结果之间的差异。

    【讨论】:

    • 谢谢 - 我很想知道如何在 Windows 上(即没有虚拟框)纯粹地做到这一点,但如果没有其他人回复,我会在几天内接受您的回复作为答案。
    【解决方案4】:

    我在 conda 环境中使用 pip install pyspark findspark 安装 spark 时遇到了同样的问题。

    解决方案是这样做:

    export /Users/pete/miniconda3/envs/cenv3/lib/python3.6/site-packages/pyspark/
    jupyter notebook
    

    您必须在上面的命令中将您的 conda 环境的名称替换为 cenv3

    【讨论】:

      【解决方案5】:

      设置环境变量后重新启动系统对我有用。

      【讨论】:

        【解决方案6】:

        我有同样的问题,我通过关闭cmd然后再次打开来解决它。我忘记了在 Windows 上编辑 env 变量后应该重新启动 cmd..

        【讨论】:

          【解决方案7】:

          我遇到了同样的错误。最初,我将 Spark 文件夹存储在 Documents 目录中。后来,当我把它移到桌面时,它突然开始识别所有系统变量并运行 findspark.init() 没有任何错误。

          试一试。

          【讨论】:

          • 如果它是“试试这个”,这应该是一个评论,而不是回答它应该是,“这肯定会工作”
          【解决方案8】:

          如果您没有在 .bashrc 文件中设置环境变量,可能会出现此错误。如下设置你的python环境变量:

          export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.8.1-src.zip:$PYTHONPATH
          export PATH=$SPARK_HOME/bin:$SPARK_HOME/python:$PATH
          
           
          

          【讨论】:

            【解决方案9】:

            我发现在 jupyter notebook 中使用 spark 的最简单方法是

            1- 下载火花

            2-解压到想要的位置

            3- 以通常的方式打开 jupyter notebook 没什么特别的

            4- 现在运行以下代码

            import findspark
            findspark.init("location of spark folder ")
            
            # in my case it is like 
            
            import findspark
            findspark.init("C:\\Users\\raj24\\OneDrive\\Desktop\\spark-3.0.1-bin-hadoop2.7")
            

            【讨论】:

              猜你喜欢
              • 2016-10-19
              • 2022-08-24
              • 2021-12-09
              • 1970-01-01
              • 2019-11-03
              • 1970-01-01
              • 2014-08-03
              • 1970-01-01
              • 2018-07-06
              相关资源
              最近更新 更多