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 <
[hidden email]>
发送时间:2020年10月26日(星期一) 09:13
收件人:user-zh <
[hidden email]>
主 题:关于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?????