从Kafka那里获取具有特定密钥的所有事件

wljmcqd8  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(280)

我的系统中有一些主题存储给定实体的事件。现在我想对事件日志进行一些分析。因此,我需要查询特定时间段内属于某个实体的所有事件。是否可以使用kafka流在时间窗口内聚合某个键的所有事件?

f4t66c6m

f4t66c6m1#

这实际上取决于你想如何设置你的系统,你想做什么样的分析,以及你所说的“查询”到底是什么意思
对于一次性分析,您可能只想 stream.transform(...).to() 并根据键和时间戳进行过滤( context.timestamp() 是你的朋友)在你的 Transformer 把结果写进主题里。因此,您将在某个键和时间范围内运行此程序一次。也许你甚至可以在写任何结果之前做必要的分析 WindowStore (启用复制)以缓冲存储中的所有数据)。
如果您想编写一个程序来准备**所有*数据进行分析,您可以使用 groupBy() (或 grouByKey() ). 使用 windowedBy()TimeWindows 只有你的作品知道的时间范围,你想分组的数据提前(例如,每小时,或每天,或类似的)。对于聚合本身,可以返回 List<Value> 对象并累积每个键和窗口的相应记录。这样,您就可以使用iq通过一次查找获得指定键和窗口的所有记录。

eblbsuwk

eblbsuwk2#

听起来你只是想 groupByKey dsl方法

相关问题