KSQL для разных значений

#apache-kafka #confluent-platform #ksqldb

#apache-kafka #ksqldb

Вопрос:

Как мне проверить, есть ли в потоке более двух записей с одним и тем же идентификатором пользователя, но с другим идентификатором продукта. Допустим, у нас есть поток (uid, pid, price) Я хочу выдать, если из одного и того же uid есть несколько разных pid. Каков правильный синтаксис запроса, если pid является строкой?

Ответ №1:

используйте оператор count_distinct

  SELECT COUNT_DISTINCT(PID), uid
 FROM product_stream WINDOW TUMBLING (SIZE 5 SECONDS) GROUP BY uid
 HAVING COUNT_DISTINCT(PID) > 1 EMIT CHANGES;