如何根据时间使用pyspark SQL获取累计值?

问题描述:

我有一个这样的表:如何根据时间使用pyspark SQL获取累计值?

enter image description here

在此表中,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

+0

groupBy'Ds'然后总和只能得到一天的数据总和,但我想总结一天之前和今天之前的所有天数据。 –

+0

更新了答案,希望它有帮助。 – vinay

+0

对不起,我没有看到你更新的答案.... –