【问题标题】:Spark RDD: Sum one column without creating SQL DataFrameSpark RDD:对一列求和而不创建 SQL DataFrame
【发布时间】:2016-05-09 01:04:57
【问题描述】:

有没有一种有效的方法可以直接总结 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。

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    您想要的是使用RDD.mapfeature 向量中提取第一个元素,然后使用DoubleRDDFunctions.sum 将它们全部相加:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 2020-11-29
      • 2022-11-02
      • 2017-02-03
      相关资源
      最近更新 更多