Hi Krzysztof, If I get it correctly, your main reason behind not using side-outputs is that it seems that "side-output", by the name, seems to be a "second class citizen" compared to the main output. I see your point but in terms of functionality, there is no difference between the different outputs from Flink's perspective. Both create DataStreams that are full integrated with Flink's fault-tolerant state handling (if checkpointing is enabled) and event-time handling. So I believe it is safe to use them for your usecase.
I hope this helps, Kostas On Thu, Dec 19, 2019 at 10:30 PM KristoffSC <krzysiek.chmielew...@gmail.com> wrote: > > Kostas, thank you for your response, > > Well although the Side Outputs would do the job, I was just surprised that > those are the replacements for stream splitting. > > The thing is, and this is might be only a subjective opinion, it that I > would assume that Side Outputs should be used only to produce something.... > aside of the main processing function like control messages or some > leftovers. > > In my case, I wanted to simply split the stream into two new streams based > on some condition. > With side outputs I will have to "treat" the second stream as a something > additional to the main processing result. > > Like it is written in the docs: > "*In addition* to the main stream that results from DataStream > operations(...)" > > or > "The type of data in the result streams does not have to match the type of > data in the *main *stream and the types of the different side outputs can > also differ. " > > > I'm my case I don't have any "addition" to my main stream and actually both > spitted streams are equally important :) > > So by writing that side outputs are not good for my use case I meant that > they are not fitting conceptually, at least in my opinion. > > Regards, > Krzysztof > > > > > -- > Sent from: > http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/