我处理了一个Double存储列表,如下所示:
JavaRDDmyDoubles
我想计算这个列表的平均值.根据文件,:
MLlib的所有方法都使用Java友好类型,因此您可以像在Scala中一样导入和调用它们.唯一需要注意的是,这些方法使用Scala RDD对象,而Spark Java API使用单独的JavaRDD类.您可以通过在JavaRDD对象上调用.rdd()将Java RDD转换为Scala.
在同一页面上,我看到以下代码:
val MSE = valuesAndPreds.map{case(v, p) => math.pow((v - p), 2)}.mean()
根据我的理解,这相当于(在类型方面)
Double MSE = RDD.mean()
结果,我试图计算我JavaRDD
喜欢的平均值:
myDoubles.rdd().mean()
然而,它不起作用,并给我以下的错误:The method mean() is undefined for the type RDD
.我也没有在RDD scala文档中找到这个函数的提及..这是因为我对自己的理解不好,还是这个呢?