Hi Janani, You can also use the projection join as:
ds1.join(ds2).where(0).equalTo(0).projectFirst(0).projectSecond(1,2).types(Long.class, Long.class, Long.class) That should also automatically set the correct annotations. Best, Fabian On Jun 25, 2014 7:41 PM, "Janani Chakkaradhari" <[email protected]> wrote: > Hi, > > Can someone check the following UDF for constantFileds setup? > > In simple, I wanted to do : > First Input of Join : Tuple3<Long, FMCounter, Double> first, > Second Input of Join: Tuple2<Long, Long> second > Output: Tuple3<second.f0, first.f1, first.f1> > > > UDF: > @ConstantFieldsFirst("2 -> 2") > @ConstantFieldsSecond("0 -> 0") > public static final class SendingMessageToNeighbors > extends > JoinFunction<Tuple3<Long, FMCounter, Double>, > Tuple2<Long, Long>, Tuple3<Long, FMCounter, Double>> { > > @Override > public Tuple3<Long, FMCounter, Double> join( > Tuple3<Long, FMCounter, Double> vertex_workset, > Tuple2<Long, Long> neighbors) throws Exception { > return new Tuple3<Long, > FMCounter, > Double>(neighbors.f0,vertex_workset.f1,vertex_workset.f2); > } > > } > > Here, I only mapped for two fields (0 and 2) in output tuple. Is it fine? > > Regards, > Janani >
