KStream send record to multiple streams (not Branch)

前端 未结 2 1416
情话喂你
情话喂你 2021-01-22 22:40

Is there a way to make branch-like operation but to place record in each output stream which predicate evaluates to true? Brach puts record to first match (documentation: A reco

2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-22 23:18

    You can "broadcast" and filter each stream individually:

    KStream stream = ...
    
    stream1 = stream.filter(...);
    stream2 = stream.filter(...);
    // and so on...
    

    If you use stream variable multiple times, all records are broadcasted to all downstream filters (or any other operator), ie, each filter is executed for each record.

提交回复
热议问题