【发布时间】:2019-08-28 09:31:58
【问题描述】:
我有一个似乎应该由 Kinesis Analytics SQL 支持的用例,但我似乎无法弄清楚。
这是我的场景:
- 我有一个输入数据流,其中每个事件都有一个 event_time 字段和 device_id 字段。
- 我想按 event_time 和 device_id 聚合数据。这里 event_time 作为源数据中的一个字段提供,它不是将该行添加到 Kinesis Analytics 应用程序的 ROWTIME,也不是大致到达时间。
- 向我的流发送数据的进程有一些延迟,因此可能会在 event_time 发生后 3 分钟内将行添加到我的流中。
我的目标是获得一份按 event_time 和 device_id 汇总的报告,其中每个 event_time 有一行,并在该行中包含该 event_time 的所有数据。
所以,我的数据流可能如下所示:
rowtime, event_time, device_id, num_things
12:29:04, 12:27:00, server1, 19
12:30:22, 12:28:00, server1, 33
12:30:23, 12:27:00, server2, 8
12:30:25, 12:29:00, server1, 11
12:31:33, 12:28:00, server2, 2
12:31:44, 12:29:00, server3, 83
12:32:56, 12:29:00, server2, 6
这里的关键点是,event_times 的数据(例如 12:27)会在几分钟内出现,并且可能比将这些数据添加到 Kinesis Analytics 流时提前最多 3 分钟。
我希望我的输出是:
event_time, total_num_things
12:27, 27 <- sums up 19 + 8 for event_time 12:27
12:28, 35 <- sums up 33+2 for event_time 12:28
12:29, 100 <- sums up 11+83+6 for event_time 12:29
这可能吗?
我能找到的所有示例在输出中都会有一个 ROWTIME 翻滚窗口,因此 event_time 的聚合可能会在多个 ROWTIME 分钟桶中分解。
【问题讨论】:
标签: amazon-kinesis