2

我已经下载了graphframes包(从这里)并将其保存在我的本地磁盘上。现在,我想使用它。所以,我使用以下命令:

IPYTHON_OPTS="notebook --no-browser" pyspark --num-executors=4  --name gorelikboris_notebook_1  --py-files ~/temp/graphframes-0.1.0-spark1.5.jar --jars ~/temp/graphframes-0.1.0-spark1.5.jar --packages graphframes:graphframes:0.1.0-spark1.5

除了新graphframes包外,所有 pyspark 功能都按预期工作:每当我尝试import graphframes使用ImportError. 当我检查时sys.path,我可以看到以下两条路径:

/tmp/spark-1eXXX/userFiles-9XXX/graphframes_graphframes-0.1.0-spark1.5.jar/tmp/spark-1eXXX/userFiles-9XXX/graphframes-0.1.0-spark1.5.jar,但是这些文件不存在。而且,/tmp/spark-1eXXX/userFiles-9XXX/目录是空的。

我错过了什么?

4

4 回答 4

2

就我而言:
1、<code>cd /home/zh/.ivy2/jars

2、<code>jar xf graphframes_graphframes-0.3.0-spark2.0-s_2.11.jar

3、在 spark-env.sh 中将 /home/zh/.ivy2/jar 添加到 PYTHONPATH 中,如上代码:

export PYTHONPATH=$PYTHONPATH:/home/zh/.ivy2/jars:.
于 2017-11-20T10:13:38.603 回答
1

一般来说,这可能是带有 Python 的 Spark 包中的一个问题。之前有人在 Spark 用户讨论别名上问过这个问题。

我的解决方法是解压jar 找到嵌入的python 代码,然后将python 代码移动到一个名为graphframes.

例如,我从我的主目录运行 pyspark

~$ ls -lart
drwxr-xr-x 2 user user   4096 Feb 24 19:55 graphframes

~$ ls graphframes/
__init__.pyc  examples.pyc  graphframe.pyc  tests.pyc

但是,您不需要 py-files 或 jars 参数,例如

IPYTHON_OPTS="notebook --no-browser" pyspark --num-executors=4 --name gorelikboris_notebook_1 --packages graphframes:graphframes:0.1.0-spark1.5

并且在 graphframes 目录中拥有 python 代码应该可以工作。

于 2016-04-05T07:31:49.650 回答
0

将这些行添加到您的 $SPARK_HOME/conf/spark-defaults.conf :

spark.executor.extraClassPath file_path/jar1:file_path/jar2

spark.driver.extraClassPath file_path/jar1:file_path/jar2

于 2016-05-11T09:34:28.603 回答
-1

在导入“孤儿”python 文件的更一般情况下(在当前文件夹之外,不是正确安装的包的一部分) - 使用 addPyFile,例如:

sc.addPyFile('somefolder/graphframe.zip')

addPyFile(path):为将来要在此 SparkContext 上执行的所有任务添加 .py 或 .zip 依赖项。传递的路径可以是本地文件、HDFS(或其他 Hadoop 支持的文件系统)中的文件,也可以是 HTTP、HTTPS 或 FTP URI。

于 2018-01-22T09:26:29.193 回答