【问题标题】:Is it possible to detect and drop duplicate data using ksql是否可以使用 ksql 检测和删除重复数据
【发布时间】:2022-01-11 04:56:58
【问题描述】:

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

【问题讨论】:

    标签: apache-kafka apache-kafka-streams ksqldb


    【解决方案1】:

    默认情况下,表会根据键进行重复数据删除。相同键的新记录将覆盖旧事件。如果您需要在新事件出现时“检测”和“处理”数据,那么 KSQL 无法做到这一点。

    如果您需要不同的值而不是按键,您可以针对某些事件流创建一个表并在HAVING COUNT(field) = 1over a time window 上进行过滤,这是您可以做的最好的事情。参考 - https://kafka-tutorials.confluent.io/finding-distinct-events/ksql.html

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

    【讨论】:

      猜你喜欢
      • 2017-09-16
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多