python - 错误 : Unable to find py4j, 您的 SPARK_HOME 可能未正确配置

标签 python ubuntu pyspark py4j

我无法在 Jupyter 笔记本中的导入下运行。

findspark.init('home/ubuntu/spark-3.0.0-bin-hadoop3.2')
收到以下错误:
    ---------------------------------------------------------------------------
~/.local/lib/python3.6/site-packages/findspark.py in init(spark_home, python_path, edit_rc, edit_profile)
    144     except IndexError:
    145         raise Exception(
--> 146             "Unable to find py4j, your SPARK_HOME may not be configured correctly"
    147         )
    148     sys.path[:0] = [spark_python, py4j]

Exception: Unable to find py4j, your SPARK_HOME may not be configured correctly
我有 py4j 安装并尝试将以下这些行添加到 ~/.bashrc
export SPARK_HOME=/home/ubuntu/spark-3.0.0-bin-hadoop3.2
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.9-src.zip:$PYTHONPATH

最佳答案

检查您安装的 spark 版本是否与您在 SPARK_HOME 名称下声明的相同
例如(在 Google Colab 中),我安装了:

!wget -q https://downloads.apache.org/spark/spark-3.0.1/spark-3.0.1-bin-hadoop3.2.tgz
然后我声明:
os.environ["SPARK_HOME"] = "/content/spark-3.0.1-bin-hadoop3.2"
看那个 spark-3.0.1-bin-hadoop3.2 两个地方必须相同

关于python - 错误 : Unable to find py4j, 您的 SPARK_HOME 可能未正确配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63572803/

相关文章:

python - 如何以可移植的方式将 tox 指向所有 python 版本(例如,无需对 tox.ini 中的路径进行硬编码)?

python - tensorflow 中的 3 维矩阵乘法

python - 我们如何在pycharm中验证用python 3.7编写的代码在python 3.6中是否正常工作?

apache-spark - 在 PySpark 中处理嵌套的 JSON

python - 将 GraphFrames ShortestPath Map 转换为 PySpark 中的 DataFrame 行

Python Pandas - 添加一个新列,其值基于多列中的名字和姓氏

ubuntu - Vim 突出问题

ruby - 使用克隆的 git repo 而不是 gem?

ubuntu - 如何在 ubuntu 服务器上安装 Flutter SDK

apache-spark - 如何使用spark sql在g​​roupby中进行选择