繁体   English   中英

Scala Spark-将RDD [List [scala.Double]]转换为RDD [scala.Double]

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM