Scala Spark - convert RDD[List[scala.Double]] to RDD[scala.D



我正在调用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"))

最新更新