You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Ayoub Omari (Jira)" <ji...@apache.org> on 2024/05/13 20:53:00 UTC
[jira] [Assigned] (KAFKA-10369) Introduce Distinct operation in KStream
[ https://issues.apache.org/jira/browse/KAFKA-10369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ayoub Omari reassigned KAFKA-10369:
-----------------------------------
Assignee: Ayoub Omari (was: Ivan Ponomarev)
> Introduce Distinct operation in KStream
> ---------------------------------------
>
> Key: KAFKA-10369
> URL: https://issues.apache.org/jira/browse/KAFKA-10369
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Ivan Ponomarev
> Assignee: Ayoub Omari
> Priority: Major
> Labels: kip
>
> Message deduplication is a common task.
> One example: we might have multiple data sources each reporting its state periodically with a relatively high frequency, their current states should be stored in a database. In case the actual change of the state occurs with a lower frequency than it is reported, in order to reduce the number of writes to the database we might want to filter out duplicated messages using Kafka Streams.
> 'Distinct' operation is common in data processing, e. g.
> * Java Stream has [distinct() |https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#distinct--] operation,
> * SQL has DISTINCT keyword.
>
> Hence it is natural to expect the similar functionality from Kafka Streams.
> Although Kafka Streams Tutorials contains an [example|https://kafka-tutorials.confluent.io/finding-distinct-events/kstreams.html] of how distinct can be emulated , but this example is complicated: it involves low-level coding with local state store and a custom transformer. It might be much more convenient to have distinct as a first-class DSL operation.
> Due to 'infinite' nature of KStream, distinct operation should be windowed, similar to windowed joins and aggregations for KStreams.
> See [KIP-655|https://cwiki.apache.org/confluence/display/KAFKA/KIP-655%3A+Windowed+Distinct+Operation+for+Kafka+Streams+API]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)