【问题标题】:ModuleNotFoundError: No module named 'graphframes'ModuleNotFoundError:没有名为“graphframes”的模块
【发布时间】:2021-04-07 04:09:11
【问题描述】:

我想用pyspark 运行graphframes

我找到了这个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.2scala: 2.12.10 版本。

我用这个命令安装了graphframes

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

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

【问题讨论】:

    标签: python apache-spark pyspark graphframes


    【解决方案1】:

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

    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
    

    【讨论】:

      猜你喜欢
      • 2018-10-21
      • 1970-01-01
      • 2019-03-28
      • 2022-01-07
      • 2017-12-14
      • 2020-12-10
      • 2021-09-02
      • 2020-10-10
      相关资源
      最近更新 更多