【问题标题】:Running pyspark after pip install pyspark在 pip install pyspark 之后运行 pyspark
【发布时间】:2021-02-25 06:22:57
【问题描述】:

我想在我的家用机器上安装pyspark。我做了

pip install pyspark
pip install jupyter

两者似乎都运作良好。

但是当我尝试运行pyspark 时,我得到了

pyspark
Could not find valid SPARK_HOME while searching ['/home/user', '/home/user/.local/bin']

SPARK_HOME 应该设置成什么?

【问题讨论】:

    标签: pip pyspark


    【解决方案1】:

    我刚刚遇到了同样的问题,但事实证明pip install pyspark 下载了在本地模式下运行良好的 spark distirbution。 Pip 只是没有设置适当的SPARK_HOME。但是当我手动设置时,pyspark 就像一个魅力(无需下载任何额外的包)。

    $ pip3 install --user pyspark
    Collecting pyspark
      Downloading pyspark-2.3.0.tar.gz (211.9MB)
        100% |████████████████████████████████| 211.9MB 9.4kB/s 
    Collecting py4j==0.10.6 (from pyspark)
      Downloading py4j-0.10.6-py2.py3-none-any.whl (189kB)
        100% |████████████████████████████████| 194kB 3.9MB/s 
    Building wheels for collected packages: pyspark
      Running setup.py bdist_wheel for pyspark ... done
      Stored in directory: /home/mario/.cache/pip/wheels/4f/39/ba/b4cb0280c568ed31b63dcfa0c6275f2ffe225eeff95ba198d6
    Successfully built pyspark
    Installing collected packages: py4j, pyspark
    Successfully installed py4j-0.10.6 pyspark-2.3.0
    
    $ PYSPARK_PYTHON=python3 SPARK_HOME=~/.local/lib/python3.5/site-packages/pyspark pyspark
    Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    2018-03-31 14:02:39 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Setting default log level to "WARN".
    To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /__ / .__/\_,_/_/ /_/\_\   version 2.3.0
          /_/
    
    Using Python version 3.5.2 (default, Nov 23 2017 16:37:01)
    >>>
    

    【讨论】:

    • 这个解决方案对我有用。当我使用虚拟环境时,我必须按照以下方式进行操作:PYSPARK_PYTHON=python3 SPARK_HOME=~/Users/"myname"/virtualenvs/"env_name"/lib/python(folder name)/site-packages/pyspark
    • 不适合我,我无法避免“Py4JError:调用 o25.isBarrier 时发生错误。跟踪:py4j.Py4JException:方法 isBarrier([]) 不存在”
    【解决方案2】:

    来自 PyPi 的 Pyspark(即使用 pip 安装)不包含完整的 Pyspark 功能;它仅适用于现有集群中的 Spark 安装 [编辑:或仅在本地模式下 - 请参阅已接受的答案]。来自docs

    Spark 的 Python 打包并不打算取代所有其他用例。这个 Python 打包版本的 Spark 适用于与现有集群(无论是 Spark 独立、YARN 还是 Mesos)交互 - 但不包含设置您自己的独立 Spark 集群所需的工具。您可以从 Apache Spark 下载页面下载完整版 Spark。

    注意:如果您将其与 Spark 独立集群一起使用,则必须 确保版本(包括次要版本)匹配,或者您可以 遇到奇怪的错误

    您应该按照here 的说明下载完整的 Spark 发行版。

    【讨论】:

    • @eleanora 您只需下载、解压缩并设置SPARK_HOME - 请在此处查看我关于“升级”的答案stackoverflow.com/questions/33887227/…,但网络上到处都是这样的分步教程。 .
    【解决方案3】:

    要安装 Spark,请确保您已安装 Java 8 或更高版本。然后到Spark Downloads页面选择最新的spark版本,Hadoop的预构建包并下载。解压缩文件并移动到您的 /opt(或任何文件夹,但请记住您移动它的位置)

    mv spark-2.4.4-bin-hadoop2.7 /opt/spark-2.4.4
    

    然后创建一个符号链接。这样您就可以下载和使用多个 spark 版本。

    ln -s /opt/spark-2.4.4 /opt/spark
    

    将以下内容添加到您的 .bash_profile 以告诉您的 bash 在哪里可以找到 Spark。

    export SPARK_HOME=/opt/spark
    export PATH=$SPARK_HOME/bin:$PATH
    

    最后,要设置 Spark 使用 python3,请将以下内容添加到 /opt/spark/conf/spark-env.sh 文件中

    export PYSPARK_PYTHON=/usr/local/bin/python3
    export PYSPARK_DRIVER_PYTHON=python3
    

    【讨论】:

      【解决方案4】:

      如果你在 python 3.0+ 然后打开anaconda提示 执行以下命令 pip3 install --user pyspark

      【讨论】:

      • 欢迎来到 SO;请花一点时间看看如何正确格式化您的代码
      【解决方案5】:

      最简单的方法 - 打开 anaconda 提示符并输入 pip install --user pyspark / pip3 install --user pyspark

      【讨论】:

        猜你喜欢
        • 2019-11-23
        • 1970-01-01
        • 2020-02-14
        • 1970-01-01
        • 1970-01-01
        • 2017-07-10
        • 1970-01-01
        • 2018-07-23
        • 2019-09-16
        相关资源
        最近更新 更多