[英]Scala Spark - convert RDD[List[scala.Double]] to RDD[scala.Double]
我正在调用mllib Statistics.corr()函数并收到以下错误:
(x:org.apache.spark.api.java.JavaRDD [java.lang.Double],y:org.apache.spark.api.java.JavaRDD [java.lang.Double],方法:字符串)scala.Double (x:org.apache.spark.rdd.RDD [scala.Double],y:org.apache.spark.rdd.RDD [scala.Double],方法:字符串)scala.Double无法应用于(org.apache .spark.rdd.RDD [List [scala.Double]],org.apache.spark.rdd.RDD [List [scala.Double]],字符串)
println(Statistics.corr(a, b, "pearson"))
我需要怎么做才能将数据类型转换为正确的corr()输入类型?
尝试使用带有标识功能的flatMap
:
val doubleRDD = listDoubleRDD.flatMap(identity)
如此答案中所建议,您想flatten
RDD
。 不幸的是, RDD
上没有flatten
方法,因此可以使用flatMap(identity)
。
println(Statistics.corr(a.flatMap(identity), b.flatMap(identity), "pearson"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.