我想用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.2版本,scala: 2.12.10。
我使用以下命令安装了graphframes:
pyspark --packages graphframes:graphframes:0.8.1-spark3.0-s_2.12有人知道怎么解决这个问题吗?谢谢。
发布于 2021-04-07 12:42:00
我发现如果我使用这个命令,它将会工作:
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/pythonhttps://stackoverflow.com/questions/66979441
复制相似问题