:java.lang.NoSuchMethodError:'scala.collection.mutable.ArrayOps scala.Predef $ .refArrayOpsjava.lang.Object []'

问题描述

我试图在PySpark框架中实现DBSCAN模型。 Github link of complete implementation。我只是从“ 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 \
        .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 Traceback(最近的呼叫 最后)

在()中 12 T.StructField(“ value”,T.ArrayType(T.FloatType()),False)]) 13 df = spark.createDataFrame(data,schema = schema) ---> 14 df_clusters = dbscan.process(spark,df,.2,10,distance.euclidean,2,“检查点”)

4帧

/usr/local/lib/python3.6/dist-packages/py4j/protocol.py在 get_return_value(答案,gateway_client,target_id,名称) 第326章 327“调用{0} {1} {2}时发生错误。\ n”。 -> 328格式(target_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)在 org.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)处 py4j.GatewayConnection.run(GatewayConnection.java:238)在 java.base / java.lang.Thread.run(Thread.java:834)**

我真的对Java或scala一无所知;也是pyspark的初学者。请帮助我解决这个问题,我非常需要它!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)