我有一张这样的 table :
在此表中,artist_id
代表特定歌手,Ds
是日期(从 2015 年 3 月 1 日到 4 月底),like
是在这一天有多少人喜欢这位歌手的歌曲。
我想得到like
的累计值,例如20150303这一天,该值将是20150301和20150302和20150303的原始值之和。
我怎样才能做到呢?
最佳答案
您可以使用spark提供的聚合函数并获取输出。
您的问题是基于时间,但根据架构,它实际上是一列日期,因此您在 Ds
上聚合并获得类似于 like
的总和
df.groupBy("Ds").sum("like")
更新:
要获取提供日期之前所有天数的总和,可以在对提供的日期应用 filter
后使用 Reduce
来获取当前日期和之前日期的结果,然后对所有日期求和使用reduce
或聚合函数sum
更多详情可查看here
关于python - 如何使用 pyspark SQL 获取基于时间的累计值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43199217/