flink table api No operators defined in streaming topology. Cannot generate StreamGraph
使用发link tableApi 进行表和流转换报错Exception in thread "main" java.lang.IllegalStateException: No operators defined in streaming topology. Cannot generate StreamGraph.at org.apache.flink.table.planner.utils.Ex
·
使用flink tableApi 进行表和流转换报错
Exception in thread "main" java.lang.IllegalStateException: No operators defined in streaming topology. Cannot generate StreamGraph.
at org.apache.flink.table.planner.utils.ExecutorUtils.generateStreamGraph(ExecutorUtils.java:40)
at org.apache.flink.table.planner.delegation.StreamExecutor.createPipeline(StreamExecutor.java:50)
at org.apache.flink.table.api.internal.TableEnvironmentImpl.execute(TableEnvironmentImpl.java:1460)
at com.quant.flowcalculation.flinkapi.tableapi.TableApiKafka.main(TableApiKafka.java:75)
代码的结构如下:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
EnvironmentSettings settings = EnvironmentSettings
.newInstance()
.useBlinkPlanner()
.inStreamingMode()
.build();
StreamTableEnvironment tEnv = StreamTableEnvironment.create(env, settings);
//注册source和sink
tEnv.executeSql(sourceDDL);
// 数据提取
Table sourceTable = tEnv.from("kafka_source");
DataStream<Row> rowDataStream = tEnv.toDataStream(sourceTable);
rowDataStream.print();
// 执行作业
tEnv.execute("flink-connection-kafka");
解决办法:
Flink1.13版本对于两个env的execute代码实现有改动,在1.13版本里需要用
// 执行作业
env.execute("flink-connection-kafka");
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)