结构化流中的高级聚合

时间:2018-03-06 12:02:46

标签: apache-spark apache-spark-sql spark-structured-streaming

我已经在几个月前问过这个问题,但我会再次要求100%肯定,我会在这里描述我的问题:

我有一个流媒体话题,我每分钟都会在Spark Structured Streaming中使用滑动窗口进行聚合。

例如,有一个每分钟滑动30分钟的窗口,我们可以说我已经在进行某种移动统计。我不仅在每一分钟都独立计算,而且考虑到最后29分钟,并且从这里每分钟移动我的聚合窗口。

但是有没有办法使用Spark Structured Streaming实时计算:

  • 随时间变化:change

  • 变化率:rate

  • 成长/衰退:growth

例如,每分钟,我计算的平均值为rate。使用这些公式,我可以在滑动窗口中比较每分钟平均值的演变:

+------------+-----------+
|   Window   |  Average  |
+------------+-----------+
|12:30-13:00 |     100   |
|12:31-13:01 |     103   |
|12:32-13:02 |     106   |
|12:33-13:03 |     111   |
+------------+-----------+

对于这个例子,我想要添加一个新功能,这将是我的平均值的增长/衰减,但实时。在t时刻,我希望能够计算出我的平均值与我在t-1时刻的平均值相比的增长。

感谢您对我的问题的见解,

祝你有个美好的一天。

PS:我发现这两个帖子可能很有趣,也许这个社区的人现在有办法做到这一点:

PySpark streaming: window and transform

How to define UDAF over event-time windows in PySpark 2.1.0

0 个答案:

没有答案