1.11之前TableEnvironmentImpl与StreamExecutionEnvironment的execute方法实现一致
无论用哪一个都可以
1.11修改了TableEnvironmentImpl中execute的实现逻辑
如果代码中涉及了DataStream的操作,则需要使用StreamExecutionEnvironment的execute方法

简单概述为:
 StreamTableEnvironment.execute() 只能执行 sqlUpdate 和 insertInto 方法执行作业
 Table 转化为 DataStream 后只能通过 StreamExecutionEnvironment.execute() 来执行作业
 新引入的 TableEnvironment.executeSql() 方法是直接执行sql作业 (异步提交作业),不需要再调用 
StreamTableEnvironment.execute() 或 StreamExecutionEnvironment.execute()


------------------------------------------------------------------
发件人:me <m...@lishiyu.cn>
发送时间:2020年10月26日(星期一) 09:13
收件人:user-zh <user-zh@flink.apache.org>
主 题:关于flink1.11 新版本使用dataStreamEnv.execute 和tableEnv.execute出现No operators 
defined in streaming topology. Cannot generate StreamGraph.的问题

关于flink1.11 新版本使用dataStreamEnv.execute 和tableEnv.execute出现No operators defined 
in streaming topology. Cannot generate StreamGraph.的问题


-| 程序内部使用Table API同时也有 Table转为 Datastream的场景。
-|程序内部有使用flinksql 读写kafka,从而执行 sqlUpdate  






尝试使用新版api 只使用tableEnv.executeSql 从而不加 dataStreamEnv.execute 和tableEnv.execute 
但是会出现程序执行一个开头就结束了而且没有异常。


求问新老API兼容吗?Table和Datastream同时存在的时候使用dataStreamEnv.execute 
还是tableEnv.execute?????

回复