Re: ConstantFields in Java API

Posted by Fabian Hueske on
URL: http://deprecated-apache-flink-mailing-list-archive.368.s1.nabble.com/ConstantFields-in-Java-API-tp770p775.html

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" <[hidden email]>
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
>