goka icon indicating copy to clipboard operation
goka copied to clipboard

Proposal: Streams DSL

Open yzia2000 opened this issue 3 years ago • 5 comments

Implement Streams DSL using Processor and storage API. Included abstractions:

  1. KStream
  2. KTable
  3. KGroupedStream
  4. KGroupedTable
  5. WindowedJoins
  6. PersistentJoins
  7. Cogroups

This provides much needed abstractions stream processing.

If no effort has been made to tackle this and the proposal gets accepted, I would like to tackle this proposal.

yzia2000 avatar Aug 23 '21 05:08 yzia2000

Hey @yzia2000 we have nothing like that planned on our side. If you can come up with small PoC + examples to show how this is useful, we would be happy to review.

PS: your link leads to a blank page with an error Non-Image content-type returned

ubunatic avatar Sep 01 '21 12:09 ubunatic

This is the link to the page: https://docs.confluent.io/platform/current/streams/developer-guide/dsl-api.html. It contains examples in java and provides a sql interface to process data with great guarantees.

yzia2000 avatar Sep 01 '21 13:09 yzia2000

Hi @yzia2000! Thanks for the proposal, the idea is great and in fact not that new. When we started writing goka we thought we will end up with a dsl too, but there really never was the need for it. Also the major reason is the lack of generics in go (which is about to change), that makes a dsl very cumbersome to use. If that changes, it's definitely worth another shot. So if you want to give it a try, you're very welcome to start something :)

frairon avatar Sep 13 '21 07:09 frairon

After 1.18, maybe this can finally be discussed

yzia2000 avatar Jan 31 '22 13:01 yzia2000

Generics are here :smile: Any updated thoughts on implementing these API's?

rupurt avatar Dec 01 '22 04:12 rupurt