微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ModuleNotFoundError:没有名为“graphframes”的模块

如何解决ModuleNotFoundError:没有名为“graphframes”的模块

我想用 graphframes 运行 pyspark

我找到了这个 answer 并按照它的说明操作,但它不起作用。

这是我的代码 hello_spark.py

import pyspark

conf = pyspark.SparkConf().set("spark.driver.host","127.0.0.1")
sc = pyspark.SparkContext(master="local",appName="myAppName",conf=conf)
sc.addPyFile("/opt/spark/jars/spark-graphx_2.12-3.0.2.jar")

from graphframes import *

当我用这个命令运行时:

spark-submit hello_spark.py 

它返回此错误

from graphframes import *
ModuleNotFoundError: No module named 'graphframes'

这是我的 .bashrc 配置:

# For Spark setup
export SPARK_HOME=/opt/spark

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

export PYSPARK_PYTHON=/usr/bin/python3

export SPARK_LOCAL_IP=localhost

export SPARK_OPTS="--packages graphframes:graphframes:0.8.1-spark3.0-s_2.12"

我的 spark: 3.0.2 版本,scala: 2.12.10

我使用以下命令安装了 graphframes

pyspark --packages graphframes:graphframes:0.8.1-spark3.0-s_2.12

有谁知道如何解决这个问题?谢谢。

解决方法

我发现如果我使用这个命令,它会起作用:

spark-submit hello_spark.py --packages graphframes:graphframes:0.8.1-spark3.0-s_2.12 

并且您应该注意到您必须为 pyspark 安装一些依赖项,例如 numpy

File "<frozen zipimport>",line 259,in load_module
  File "/opt/spark/python/lib/pyspark.zip/pyspark/ml/param/__init__.py",line 26,in <module>
ModuleNotFoundError: No module named 'numpy'

所以我只是将 PYSPARK_PYTHON 路径更改为我的 miniconda 环境。

export PYSPARK_PYTHON=/home/username/miniconda3/envs/pyenv/bin/python

您可以通过激活它并运行 which 命令来找到您的环境路径:

(base) username@user:~$ conda activate pyenv
(pyenv) username@user:~$ which python
/home/username/miniconda3/envs/pyenv/bin/python

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。