我是flink的新手,正在尝试flink文档中给出的一些代码。

flink文档中的代码:

public class WordWithCount {

    public String word;
    public long count;

    public WordWithCount() {}

    public WordWithCount(String word, int count) {
        this.word = word;
        this.count = count;
    }
}

DataStream<Tuple2<String, Long>> wordCounts = env.fromElements(
    new WordWithCount("hello", 1),
    new WordWithCount("world", 2));

wordCounts.keyBy("word"); // key by field expression "word"

但我在收到类型不匹配错误
DataStream<Tuple2<String, Long>> wicstream = sev.fromElements(new WordwithCount("Hello",1), new WordwithCount("hello",1));

错误信息:
Type mismatch: cannot convert from DataStreamSource<WordwithCount> to DataStream<Tuple2<String,Long>>

请帮助我理解我的错误。

最佳答案

DataStream的类型应为X,与您提供给fromElements()方法的对象的类型相同。您提供WordwithCount作为参数,因此DataStream的类型应为WordwithCount

您的代码应如下所示:

DataStream<WordwithCount> wicstream = sev.fromElements(new WordwithCount("Hello",1), new WordwithCount("hello",1));

10-08 15:29