On Jan 9, 2017 3:41 PM, "Aljoscha Krettek" <[email protected]> wrote:

> I think the split/select variant should be a bit faster because it creates
> less object copies internally. It should also be more future proof because
> it will benefit from improvements (if any) in the way split/select works.
>
> There is also some ongoing work in adding support for side outputs which
> allow outputting to several streams from one user function:
> https://github.com/apache/flink/pull/2982
>
> Cheers,
> Aljoscha
>
>
>
> On Thu, 22 Dec 2016 at 16:34 Lawrence Wagerfield <
> [email protected]> wrote:
>
>> Hi,
>>
>> I'd like to know which is more efficient: splitting a stream 3 ways via
>> `split` or via `filter`?
>>
>> --- FILTER ------
>> val greater = stream.filter(_.n > 0)
>> val less = stream.filter(_.n < 0)
>> val equal = stream.filter(_.n == 0)
>> -----------------
>>
>> - VS -
>>
>> --- SPLIT -------
>> val split = stream.split(row =>
>>   if (row.n > 0)
>>   List("greater")
>>   else if (row.n < 0)
>> List("less")
>>   else
>>   List("equal")
>> )
>>
>> val greater = split select "greater"
>> val less = split select "less"
>> val equal = split select "equal"
>> -----------------
>>
>> Thanks!
>> Lawrence
>>
>

Reply via email to