我尝试在pysparkv3.0.1中使用graphframes库(我在debian上使用vscode,但是尝试从pyspark shell导入包也没有用)
根据文件,使用 $ pyspark --packages graphframes:graphframes:0.6.0-spark2.3-s_2.11
我应该能处理的。
这个示例代码取自stackoverflow中提出相同问题的另一篇文章,尽管它的解决方案对我来说没有什么好处。
localVertices = [(1,"A"), (2,"B"), (3, "C")]
localEdges = [(1,2,"love"), (2,1,"hate"), (2,3,"follow")]
v = sqlContext.createDataFrame(localVertices, ["id", "name"])
e = sqlContext.createDataFrame(localEdges, ["src", "dst", "action"])
g = GraphFrame(v, e)
抛出错误
py4j.protocol.Py4JJavaError: An error occurred while calling o63.createGraph.
java.lang.NoSuchMethodError: 'scala.collection.mutable.ArrayOps scala.Predef$.refArrayOps(java.lang.Object[])'
1条答案
按热度按时间2vuwiymt1#
您需要为spark 3.0使用正确的graphframes版本。您使用了spark 2.3(0.6.0-spark2.3-sè2.11)的graphframes,这导致了spark版本冲突。您可以尝试0.8.1-spark3.0-sè2.12,这是目前spark3.0的最新graphframes版本。