如何根据时间使用pyspark SQL获取累计值?
问题描述:
我有一个这样的表:如何根据时间使用pyspark SQL获取累计值?
在此表中,artist_id
代表一个特定的歌手,Ds
是一个日期(从2015年3月1至4月底),并like
是多少人喜欢这个歌手在这一天的歌曲。 我想获得like
的累计值,例如,在20150303的那一天,该值将是原始值20150301和20150302与20150303的总和。 我该如何制作它?
答
您可以使用spark提供的聚合函数并获取输出。
你的问题说,根据时间,但按照架构,其实际日期的一列,因此您汇总计算Ds
并获得like
类似总和
df.groupBy("Ds").sum("like")
更新: 要获得总和所有天以前所提供的日期,Reduce
可以申请filter
为所提供的日期来获取这和以前的日期结果,然后总结所有使用reduce
或聚合函数后使用sum
更多可以发现的详细信息here
groupBy'Ds'然后总和只能得到一天的数据总和,但我想总结一天之前和今天之前的所有天数据。 –
更新了答案,希望它有帮助。 – vinay
对不起,我没有看到你更新的答案.... –