Yes, if you need outer join semantics you have to go with CoGroup.
Some members of the Flink community are working on true outer joins for
Flink, but I don't know what the progress is.

Best, Fabian

2015-06-29 18:05 GMT+02:00 Michele Bertoni <michele1.bert...@mail.polimi.it>
:

>  thanks both for answering,
> that’s what i expected
>
>  I was using join at first but sadly i had to move from join to cogroup
> because I need outer join
>
>  the alternative to the cogroup is to “complete” the inner join
> extracting from the original dataset what did not matched in the cogroup by
> difference but I don’t think it is convenient
>
>
>
>
>  Il giorno 29/giu/2015, alle ore 17:58, Fabian Hueske <fhue...@gmail.com>
> ha scritto:
>
>   If you just want to do the pairwise comparison try join().
> Join is an inner join and will give you all pairs of elements with
> matching keys.
>  For CoGroup, there is no other way than collecting one side in memory.
>
>  Best, Fabian
>
> 2015-06-29 17:42 GMT+02:00 Matthias J. Sax <mj...@informatik.hu-berlin.de>
> :
>
>> Why do you not use a join? CoGroup seems not to be the right operator.
>>
>> -Matthias
>>
>> On 06/29/2015 05:40 PM, Michele Bertoni wrote:
>> > Hi I have a question on cogroup
>> >
>> > when I cogroup two dataset is there a way to compare each element on
>> the left with each element on the right (inside a group) without collecting
>> one side?
>> >
>> > right now I am doing
>> >
>> > left.cogroup(right).where(0,1,2).equalTo(0,1,2){
>> >       (leftIterator, rightIterator, out) => {
>> >               val lSet = leftIterator.toSet           // <———— toSet
>> >               for(r <- rightIterator)
>> >                       for(l <- lSet)
>> >                               //do something
>> >       }
>> > }
>> >
>> > I would like to avoid the toSet
>> >
>> >
>> > thanks for help
>> >
>>
>>
>
>

Reply via email to