Java lambda表达式实现Flink WordCount过程解析
代码开发环境准备导入Flink 1.9 pom依赖构建Flink流处理环境自定义source每秒生成一行文本单词计算参考代码Flink对Java Lambda表达式支持情况Flink支持Java API所有操作符使用Lambda表达式。但是,但Lambda表达式使用Java泛型时,就需要声明类型信息。我们来看下上述的这段代码:之所以这里将所有的类型信息,因为Flink无法正确自动推断出来Collector中带的泛型。如果我们没有显示地提供类型信息,将会出现以下错误:这种情况下,必须要显示指定类型信息,否则输出将返回值视为Object类型,这将导致Flink无法正确序列化。所以,我们需要显示地指定Lambda表达式的参数类型信息,并通过returns方法显示指定输出的类型信息我们再看一段代码:为什么map后面也需要指定类型呢?