当前位置: 首页 > 知识库问答 >
问题:

在pyspark中创建graphframe时出错

桂德义
2023-03-14

我正在尝试运行下面的代码,在本地安装的pyspark中创建graphframe。但我犯了个错误。我使用的是spark-2.4.0-bin-hadoop2.7版本。

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
#spark = SparkSession.builder.appName('fun').getOrCreate()
vertices = spark.createDataFrame([('1', 'Carter', 'Derrick', 50), 
                                  ('2', 'May', 'Derrick', 26),
                                 ('3', 'Mills', 'Jeff', 80),
                                  ('4', 'Hood', 'Robert', 65),
                                  ('5', 'Banks', 'Mike', 93),
                                 ('98', 'Berg', 'Tim', 28),
                                 ('99', 'Page', 'Allan', 16)],
                                 ['id', 'name', 'firstname', 'age'])
edges = spark.createDataFrame([('1', '2', 'friend'), 
                               ('2', '1', 'friend'),
                              ('3', '1', 'friend'),
                              ('1', '3', 'friend'),
                               ('2', '3', 'follows'),
                               ('3', '4', 'friend'),
                               ('4', '3', 'friend'),
                               ('5', '3', 'friend'),
                               ('3', '5', 'friend'),
                               ('4', '5', 'follows'),
                              ('98', '99', 'friend'),
                              ('99', '98', 'friend')],
                              ['src', 'dst', 'type'])
g = GraphFrame(vertices, edges)

我得到以下错误。

共有2个答案

吕扬
2023-03-14

您可以通过执行以下步骤来解决错误:

1)根据您使用的Spark版本从下面下载图形框架jar(例如0.7.0-Spark2.4-s_2.11,因为您使用的是Spark 2.4版本)

https://spark-packages.org/package/graphframes/graphframes

2) 将下载的graphframes jar添加到您的spark jar中,例如$spark\u HOME/jars

3) 首次启动带参数的pyspark,以便下载所有graphframe的jars依赖项:

e、 g.在Windows机器中,可以使用命令提示符启动

$SPARK\u HOME/bin/pyspark--包graphframes:graphframes:0.7.0-spark2.4-s\u 2.11

4)在从图形框导入运行图形命令之前发出以下命令*

以上步骤将解决您的问题

巢权
2023-03-14

以下内容似乎对我有用。

  1. 下载。jar文件https://spark-packages.org/package/graphframes/graphframes
  2. 因为我在Anaconda上运行了pyspark,所以我添加了。jar文件到该路径,/anaconda3/lib/python3.7/site-packages/pyspark/jars以及其他路径。jar文件
  3. 然后,下面的脚本似乎起作用了
# Ref: https://stackoverflow.com/a/50404308/9331359
from pyspark import SparkContext
context = SparkContext()
context.addPyFile('/anaconda3/lib/python3.7/site-packages/pyspark/jars/graphframes-0.7.0-spark2.4-s_2.11.jar')
context


# Ref: https://stackoverflow.com/a/55430066/9331359
from pyspark.sql.session import SparkSession
spark = SparkSession(context)

from pyspark.sql.types import *
from graphframes import *
 类似资料:
  • 这是在jupyter笔记本上运行的pyspark代码。 Py4JJavaError:调用None时出错。组织。阿帕奇。火花应用程序编程接口。JAVAJavaSparkContext.:JAVAlang.IllegalAccessError:课堂组织。阿帕奇。火花存储StorageUtils$(在未命名模块@0x30cb5b99中)无法访问sun类。尼奥。DirectBuffer(在模块java.b

  • 找不到javac编译器;通用域名格式。太阳工具。javac。Main不在类路径上。也许JAVA_HOME没有指向JDK。当前设置为“C:\Program Files\Java\jre7”。解决方案是什么?

  • 在文件名中使用字符串变量作为当前时间时,创建文件时出错。错误为 “System”类型的未处理异常。mscorlib中出现NotSupportedException。dll 附加信息:不支持给定路径的格式。 我找不到代码中的错误,我尝试没有“路径”变量它会成功运行。当我使用“cTime”变量创建动态文件名时,我不明白发生了什么。

  • 我必须将Scala代码转换为python。 scala代码将string的RDD转换为case类的RDD。代码如下: 可以在PySpark中实现吗?我尝试使用以下代码,但出现错误 错误Py4JJavaError:调用z:org时出错。阿帕奇。火花应用程序编程接口。蟒蛇蟒蛇。收集和服务:组织。阿帕奇。火花SparkException:作业因阶段失败而中止:阶段21.0中的任务0失败1次,最近的失败:

  • PS D:\React\anti-app

  • 下面是我创建的表格。 创建嵌套表时出现以下错误。 ORA-02320:为嵌套表列odetails\u ntab ORA-25175创建存储表失败:找不到主键约束02320。00000-“为嵌套表列%s创建存储表失败”*原因:为指定的嵌套表列创建存储表时出错*操作:有关更多详细信息,请参阅下面的消息。如果他们描述的情况能够得到纠正,那么就这样做;否则请与Oracle支持部门联系。 获取第9行ORA-