错误1
遇到错误,错误具体如下图所示:
Exception in thread “main” java.lang.IllegalStateException: No ExecutorFactory found to execute the application.
经过搜索发现,这个错误其实很简单,主要就是因为flink程序执行时的依赖缺少导致的,缺少的依赖时flink-client,引入这个依赖,重新启动就可以了。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
想上面这中情况,就已经启动了程序。错误解决。
错误2
Could not determine TypeInformation for the OutputTag type. The most common reason is forgetting to make the OutputTag an anonymous inner class. It is also not possible to use generic type variables with OutputTags, such as ‘Tuple2<A, B>’.
at org.apache.flink.util.OutputTag.(OutputTag.java:68)
具体如下图所示:
这是由于我在借鉴别人的scala代码时,他们在定义OutPutTag时是下图这样的
那我再java里面写的时候,也这个样子是不显示红线的,但是运行的时候就会报错
其实再java里这里应该加上{},这样才对,并且运行程序时也不会报错。
改为下图所示即可。
错误3
Assigned key must not be null!
keyBy的字段不能为空。
因为这里过滤数据的时候,返回了空的参数,导致了keyBy得主键为空.
所以在flink的map算子里,进1 出1 ,如果中间的操作导致某个你keyBy的字段丢失,就会出现这种错误。