是否可以使用ksql检测和删除重复数据



我有一个简单的问题,我们是否可以使用KSQL检测并删除kafka主题流数据中的重复项。

默认情况下,表在键上进行重复数据消除。同一密钥的新记录将覆盖旧事件。如果你需要";"检测";以及";过程";数据,当新事件进入时,KSQL无法执行此操作。

如果您需要不同的值而不是按键,您可以针对某个事件流创建一个表,并在一个时间窗口内对HAVING COUNT(field) = 1进行筛选,这是您能做到的最好的方法。参考-https://kafka-tutorials.confluent.io/finding-distinct-events/ksql.html

如果您需要不确定的时间窗口来确保只处理某个字段一次,那么您将希望使用外部数据库,以及可选的内部缓存来执行查找。这需要通过一个普通消费者或Kafka Streams来完成。

最新更新