kafka的分布式调度器

t5fffqht  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(370)

我们有一个用例,在这个用例中,我们每天在Kafka得到数百万个事件。每个事件都是这样的:
{“id”:123,“state”:“start/in transit/stop”,“ts”:“01-02-2021 12:00:00”}
因此,对于每个id,我们可以有多个事件。
我们需要生成警报,以防在xx天后这些事件流中没有收到特定id的任何一个状态。例如id 123,如果我们在5天后没有收到在途事件。
一种方法是将所有内容存储在数据湖中,并在其上连续运行spark作业。
我的问题是:我们是否可以在xx天后为每个id安排作业,并使用kafka授权它,使其成为分布式的。
这样做,我们将不会连续轮询和检查是否违反警报条件,而是将作业安排在特定时间,我们可以查询警报条件。

ct3nt3jp

ct3nt3jp1#

您可以创建一个压缩的进行中事件主题,该主题存储所有的开始/进行中状态,其中stop是delete,以从ktable中删除id。
但是,仍然需要每秒扫描一次表,以验证任何时间戳都没有超出其窗口

相关问题