我正在调用mllib Statistics.corr()函数并收到以下错误:
(x: org.apache.spark.api.java.JavaRDD [. lang。双),y: org.apache.spark.api.java.JavaRDD [. lang。双),方法:scala字符串)。[scala. org.apache.spark.rdd.RDD]双),y: org.apache.spark.rdd.RDD (scala。双),方法:scala字符串)。双不能应用于(org.apache.spark.rdd.RDD[List]。双]],org.apache.spark.rdd.RDD[名单[scala。双]],字符串)
println(Statistics.corr(a, b, "pearson"))
我需要做些什么来将我的数据类型转换为corr()的正确输入类型?
尝试使用flatMap
,具有恒等函数:
val doubleRDD = listDoubleRDD.flatMap(identity)
正如这个答案所建议的,您想要flatten
您的RDD
s。不幸的是,RDD
上没有flatten
方法,所以您可以使用flatMap(identity)
。
println(Statistics.corr(a.flatMap(identity), b.flatMap(identity), "pearson"))