Hi Arvid,

In my case it's the latter, thus I have also thought about using the filter
(map is not useful in my case).

What I am not sure which is better to be used?
In what case would you split a stream with side output and in what case
with filter?
Would there be any performance gain/pain based on which is used?

Regards
,
Nikola
<%28%2B45%29%2060%2054%2032%2016>


On Mon, May 10, 2021 at 6:00 PM Arvid Heise <ar...@apache.org> wrote:

> Hi Nikola,
>
> if you just want to apply a different user function to the records
> depending on the property "exist" the simplest way is to use
>
> source -> map(if exist do this else that) -> sink
>
> If it turns out that you want to apply a different subgraph, you can do
>
> source -> filter(if exist) -> do this -> union -> sink
> source -> filter(if not exist) -> do that -^
>
> On Mon, May 10, 2021 at 3:07 PM Nikola Hrusov <n.hru...@gmail.com> wrote:
>
>> Hi,
>>
>> I am trying to find some information on what is the best way to split a
>> stream of the same data.
>>
>> For the given scenario: I have an object which has a property "exist"
>>
>> I want to split the stream based on this property, do something, and
>> afterwards join it again into a single stream.
>>
>> Initial (A) -> Split stream based on exist (B) or not (C) -> union both
>> streams (D)
>>
>> I could find some similar topics on StackOverflow:
>> -
>> https://stackoverflow.com/questions/53588554/apache-flink-using-filter-or-split-to-split-a-stream
>> -
>> https://stackoverflow.com/questions/61752728/how-to-get-output-of-the-values-that-are-not-matched-in-filter-function-in-apach
>>
>> but none of them really gives a definitive answer.
>>
>> What I am thinking about is using 1) filter or 2) side output.
>>
>> I know that one of the use cases of side output is that it can have
>> different data types. That is not my case as it will be the same object
>> going through the whole pipeline.
>>
>> So both options look more or less the same to me, however I do not know
>> the flink internals as good as I would like to as of this point.
>>
>> Can some of you guys shed some light and perhaps tell me if I am mistaken
>> in my thoughts?
>>
>> Thanks.
>>
>> Regards
>> ,
>> Nikola
>>
>

Reply via email to