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