流式SQL-如何在简单的滚动窗口聚合中获取最后一条记录

时间:2019-03-14 13:56:30

标签: sql streaming aggregation amazon-kinesis

环境-AWS Kinesis Analytics(但我可以采用建议的任何流SQL概念并将其应用于我的环境)

我有这样的源数据,不断地流入:

HttpMethod.GET

我正在寻找记录的最后一个“ ap”,由baic_id分区(有多个,而不仅仅是上面看到的“ alex”),并分组为10秒窗口。因此,以上数据的结果将如下所示:

epoc_timestamp  baic_id station floor       ap
1552314547      alex    bloor   platform    be-ye12
1552314548      alex    bloor   platform    be-ye12
1552314549      alex    bloor   platform    ye-ab70
1552314550      alex    bloor   platform    ye-ab70
1552314551      alex    bloor   platform    ye-ab70
1552314555      alex    bloor   platform    ye-ab70
1552314559      alex    bloor   platform    ge-ye30

注意:尽管在标准SQL中使用

这样相对容易

LAST_VALUE(ap)结束(按baic_id排序,按epoc_timestamp排序,无边界限制和无限制跟随之间的范围)

我正在使用流式SQL,这意味着流没有“结束”,并且Kinesis Analytics不允许使用UNBOUNDED FOLLOWING。因此,如果我使用LAST_VALUE,它只能获取CURRENT值,因为它看不到以下行。

0 个答案:

没有答案