我有一张这样的表:
在此表中,artist_id
代表特定歌手,Ds
是日期(从2015年3月1日到4月底),like
是有多少人喜欢这位歌手的这一天的歌曲。
我想获得like
的累计值,例如,在20150303当天,该值将是20150301和20150302和20150303的原始值的总和。
我该怎么做?
答案 0 :(得分:1)
您可以使用spark提供的聚合函数并获取输出。
您的问题是基于时间,但根据架构,它实际上是一列日期,因此您在Ds
汇总并得到like
的总和类似于
df.groupBy("Ds").sum("like")
更新:
要获取提供日期之前所有天数的总和,可以在将Reduce
应用于提供的日期后使用filter
来获取此日期和上一个日期的结果,然后使用reduce
汇总所有日期或汇总函数sum
可以找到更多详细信息here