What do you mean by "collect the left side" and "union"? If you want to collect all elements of the left/right side grouped by key, you should use CoGroup. For union you use the Union transformation. If you want to "union" the fields of the inputs you use the projectJoin.
The question is about the output of a join function. Right know, it must return exactly one element. A FlatJoin function would allow to return 0, 1, or n elements. A ProjectJoin or DefaultJoin and a following FlatMap realizes the same functionality, but is not as nice to use as a FlatJoin. 2014-06-18 14:38 GMT+02:00 Ufuk Celebi <[email protected]>: > > On 18 Jun 2014, at 14:31, Fabian Hueske <[email protected]> wrote: > > > Why not? > > You do > > > > > data1.join(data2).where(0).equalTo(0).projectFirst(0,1).projectSecond(1).types(Long.class, > > Long.class, Long.class).flatMap(new MyFM()) > > What if I want the join to collect the left side, right side and union? > But I'm not sure how realistic this use case is and if it is what Asterios > had in mind?
