:java.lang.NoSuchMethodError:';scala.collection.mutable.ArrayOps scala.Predef$.refArrayOps(java.lang.Object[])&x27;
我试图在PySpark框架中实现DBSCAN模型。我只是从“README.md”段复制并运行代码。代码是:java.lang.NoSuchMethodError:';scala.collection.mutable.ArrayOps scala.Predef$.refArrayOps(java.lang.Object[])&x27;,java,scala,pyspark,dbscan,Java,Scala,Pyspark,Dbscan,我试图在PySpark框架中实现DBSCAN模型。我只是从“README.md”段复制并运行代码。代码是 import dbscan from sklearn.datasets import make_blobs from pyspark.sql import types as T, SparkSession from scipy.spatial import distance spark = SparkSession \ .builder \ .appNa
import dbscan
from sklearn.datasets import make_blobs
from pyspark.sql import types as T, SparkSession
from scipy.spatial import distance
spark = SparkSession \
.builder \
.appName("DBSCAN") \
.config("spark.jars.packages", "graphframes:graphframes:0.7.0-spark2.3-s_2.11") \
.config('spark.driver.host', '127.0.0.1') \
.getOrCreate()
X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4, random_state=5)
data = [(i, [float(item) for item in X[i]]) for i in range(X.shape[0])]
schema = T.StructType([T.StructField("id", T.IntegerType(), False),
T.StructField("value", T.ArrayType(T.FloatType()), False)])
df = spark.createDataFrame(data, schema=schema)
df_clusters = dbscan.process(spark, df, .2, 10, distance.euclidean, 2, "checkpoint")
这会将错误消息显示为
-
**>--------------------------------------------------------------------------
Py4JJavaError回溯(最近的调用
最后)
在()
12 T.StructField(“值”,T.ArrayType(T.FloatType()),False)])
13 df=spark.createDataFrame(数据,模式=schema)
--->14 df_clusters=dbscan.process(spark,df,.2,10,distance.euclidean,2,“检查点”)
4帧
/中的usr/local/lib/python3.6/dist-packages/py4j/protocol.py
获取\返回\值(应答、网关\客户端、目标\ id、名称)
326 raise Py4JJavaError(
327“调用{0}{1}{2}时出错。\n”。
-->328格式(目标id,“.”,名称),值)
329其他:
330升起Py4JError(
Py4JJavaError:调用o185.createGraph时出错:
java.lang.NoSuchMethodError:'scala.collection.mutable.ArrayOps
scala.Predef$.refArrayOps(java.lang.Object[])位于
org.graphframes.GraphFrame$.apply(GraphFrame.scala:676)位于
graphframes.GraphFramePythonAPI.createGraph(GraphFramePythonAPI.scala:10)
在
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机
方法)在
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:566)
py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)位于
位于的py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
py4j.Gateway.invoke(Gateway.java:282)位于
py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
在py4j.commands.CallCommand.execute(CallCommand.java:79)处
在上运行(GatewayConnection.java:238)
java.base/java.lang.Thread.run(Thread.java:834)**
我真的不懂Java或scala,也是pyspark的初学者。请帮我解决这个问题,我非常需要它!你安装的所有东西都是什么版本的?你能展示导致这个错误的python代码吗?@OneCricketeer我在Google Colab上运行了代码。@user,先生,请访问附加的链接,我只运行了code在'README.md'段。@OneCricketeer我在Google Colab上运行了代码。我通过pip命令安装了pyspark,所以我认为它是3.0.1版本,graphframes是0.6版本。