gpt4 book ai didi

scala - 如何在spark/scala中对数据帧的一列的值求和

转载 作者:行者123 更新时间:2023-12-03 11:03:14 25 4
gpt4 key购买 nike

我有一个从 CSV 文件中读取的数据框,其中包含许多列,例如:时间戳、步数、心率等。

我想对每列的值求和,例如“步骤”列上的总步数。

据我所知,我想使用这些功能:
http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.functions$

但我可以理解如何使用函数 sum。

当我写下以下内容时:

val df = CSV.load(args(0))
val sumSteps = df.sum("steps")

无法解析函数 sum。

我是否错误地使用了 sum 函数?
我需要先使用函数映射吗?如果是,如何?

一个简单的例子会很有帮助!我最近开始写 Scala。

最佳答案

如果您想 sum一列的所有值,使用 DataFrame 效率更高的内部RDDreduce .

import sqlContext.implicits._
import org.apache.spark.sql.functions._

val df = sc.parallelize(Array(10,2,3,4)).toDF("steps")
df.select(col("steps")).rdd.map(_(0).asInstanceOf[Int]).reduce(_+_)

//res1 Int = 19

关于scala - 如何在spark/scala中对数据帧的一列的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37032025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com