繁体   English   中英

Spark RDD:对一列求和而不创建SQL DataFrame

[英]Spark RDD: Sum one column without creating SQL DataFrame

是否有一种有效的方法可以直接对spark RDD中的列中的值求和? 我不想为此创建一个SQL DataFrame。

我有一个LabeledPoint的RDD,其中每个LabeledPoint使用一个稀疏矢量表示。 假设我对第一个要素的总和感兴趣。
以下代码对我不起作用:

//lp_RDD is RDD[LabeledPoint]
var total = 0.0
for(x <- lp_RDD){
    total += x.features(0)
}

此循环后的totalAmt的值仍为0。

您想要的是使用RDD.mapfeature向量中提取第一个元素,然后使用RDD.map将所有DoubleRDDFunctions.sum

val sum: Double = rdd.map(_.features(0)).sum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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