Hi Timo,

thank you for the explanation!
I guess I will try implementing ResultTypeQueryable then :)

Cheers,
Vasia.

On 30 October 2014 13:01, Timo Walther <[email protected]> wrote:

> Hi Vasiliki,
>
> your error is a very common problem we have together with types. The
> problem is that Java does type erasure, which means that
>
> return vertices.map(new ApplyMapperToVertex<K, VV>(mapper));
>
> becomes
>
> return vertices.map(new ApplyMapperToVertex(mapper));
>
> Therefore we don't have the types. But since we have "implements
> MapFunction<Tuple2<K, VV>, Tuple2<K, VV>>" the type extractor infers the
> output through the input (which is always known).
>
> The return type must be provided manually e.g. by implementing the
> interface ResultTypeQueryable or by the a new API operator (see my last
> mailing list mail).
>
> Regards,
> Timo
>
>
>
> On 30.10.2014 11:59, Vasiliki Kalavri wrote:
>
>> Hi all,
>>
>> one of the operations we want to implement for the flink graph api is
>> mapVertices, i.e. applying a mapper to the vertices of the graph.
>> The current implementation assumes that the vertex value type remains the
>> same:
>> https://github.com/project-flink/flink-graph/blob/master/
>> src/main/java/flink/graphs/Graph.java
>> .
>> However, we would like to be able to change the vertex value type. When
>> trying this out, we got this error:
>>
>> Type of TypeVariable 'NV' in 'class flink.graphs.Graph$
>> ApplyMapperToVertex'
>> could not be determined. This is most likely a type erasure problem. The
>> type extraction currently supports types with generic variables only in
>> cases where all variables in the return type can be deduced from the input
>> type(s).
>>
>> How could we solve this and support changing the vertex value type?
>> Thank you!
>>
>> Cheers,
>> Vasia.
>>
>>
>

Reply via email to