Just small change from PojoExample:
PojoExample.java
<http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/file/t921/PojoExample.java>
  
public class PojoExample<KEY> {
        private SelectorContainer<KEY> selectorContainer;
        // KeySelector class like this can't be used in flink !!!
        public static class SelectorContainer<K> implements KeySelector<Word 
,K> {
                public KeySelector<Word, K> keySelector;
                public SelectorContainer(KeySelector<Word, K> keySelector) {
                        this.keySelector = keySelector;
                }

                @Override
                public K getKey(Word value) throws Exception {
                        return keySelector.getKey(value);
                }
        }
        public void run() {
              dataStream.keyed(selectorContainer);
        }
        
}

This will cause:
Type of TypeVariable 'K' in 'class
org.apache.flink.streaming.examples.wordcount.PojoExample$SelectorContainer'
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).

org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfoWithTypeHierarchy(TypeExtractor.java:915)

org.apache.flink.api.java.typeutils.TypeExtractor.privateCreateTypeInfo(TypeExtractor.java:836)

org.apache.flink.api.java.typeutils.TypeExtractor.getUnaryOperatorReturnType(TypeExtractor.java:622)

org.apache.flink.api.java.typeutils.TypeExtractor.getKeySelectorTypes(TypeExtractor.java:443)

org.apache.flink.api.java.typeutils.TypeExtractor.getKeySelectorTypes(TypeExtractor.java:436)

org.apache.flink.streaming.api.datastream.KeyedStream.<init>(KeyedStream.java:108)

org.apache.flink.streaming.api.datastream.DataStream.keyBy(DataStream.java:263)

org.apache.flink.streaming.examples.wordcount.PojoExample.execute(PojoExample.java:86)

org.apache.flink.streaming.examples.wordcount.PojoExample.main(PojoExample.java:108)

It sames can't use a class contains the KeySelector ?



--
Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/

Reply via email to