Flink报错:No operators defined in streaming topology. Cannot execute.

报错描述

在用Flink进行Flink SQL相关的测试的时候,报了以下错误:

Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalStateException: No operators defined in streaming topology. Cannot execute.
    at com.gitee.xxx.flink.learning.udf.UDFExample.main(UDFExample.java:46)
Caused by: java.lang.IllegalStateException: No operators defined in streaming topology. Cannot execute.
    at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getStreamGraphGenerator(StreamExecutionEnvironment.java:2019)
    at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getStreamGraph(StreamExecutionEnvironment.java:2010)
    at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getStreamGraph(StreamExecutionEnvironment.java:1995)
    at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.execute(StreamExecutionEnvironment.java:1834)
    at com.gitee.xxx.flink.learning.udf.UDFExample.main(UDFExample.java:44)
问题原因
    在整个代码中没有流算子的存在,因为都是使用table sql的数据类型。
解决办法
    当没有流的存在时,不要在代码的最后加上env.execute()。
//      try {
//          env.execute("UDF Example");
//      } catch (Exception e) {
//          throw new RuntimeException(e);
//      }
其它

其实报错也没问题,照样能运行

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容