I usually just reuse the stream, sending it to through different filters and adding different sinks to the filtered streams.
Something like streamWithMultipleConditions.filter(FilterForCondition1) .addSink(SinkforCondtiton1); streamWithMultipleConditions.filter(FilterForCondition2) .addSink(SinkforCondtiton2); From: Mingliang Liu <lium...@apache.org> Sent: Monday, June 3, 2024 1:03 PM To: mejri houssem <mejrihousse...@gmail.com> Cc: user@flink.apache.org Subject: Re: Implementing Multiple sink NOTICE: This email is from an external sender - do not click on links or attachments unless you recognize the sender and know the content is safe. Hi Mejri, Have you checked side outputs? https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/dev/datastream/side_output/ On Mon, Jun 3, 2024 at 8:28 AM mejri houssem <mejrihousse...@gmail.com<mailto:mejrihousse...@gmail.com>> wrote: Hello community, We have a use case in our Flink job that requires the implementation of multiple sinks. I need to filter messages based on certain conditions (information in the message) to determine which sink to dispatch them to. To clarify, I would like to implement logic in the operator that precedes the sink in the job workflow, similar to the following: * If the condition is met, send the message to the first sink. * Otherwise, send the message to the second sink. Is it possible to implement this in Flink? Thank you in advance for your assistance. Best regards,