开发者社区> 问答> 正文

flink 1.11 sql作业提交JM报错

我使用flink 1.11提交sql作业,从JM日志中看到有如下异常。我的作业里会通过tEnv.executeSQL执行多个ddl语句,通过tEnv.createStatementSet add多个dml语句,并执行execute。 如下异常可能原因是啥呢?还有个问题,这个异常虽然抛出来了,但是作业还是正常启动执行了。这又是为何?是不是不推荐在作业里同时使用executeSQL和statementset.execute?

Caused by: org.apache.flink.util.FlinkRuntimeException: Cannot have more than one execute() or executeAsync() call in a single environment. at org.apache.flink.client.program.StreamContextEnvironment.validateAllowedExecution(StreamContextEnvironment.java:139) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.client.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:127) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.table.planner.delegation.ExecutorBase.executeAsync(ExecutorBase.java:57) ~[flink-table-blink_2.12-1.11.0.jar:1.11.0] at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:699) ~[flink-table_2.12-1.11.0.jar:1.11.0] ... 24 more*来自志愿者整理的flink邮件归档

展开
收起
彗星halation 2021-12-07 16:08:34 1758 0
1 条回答
写回答
取消 提交回答
  • 1.11 对 StreamTableEnvironment.execute()

    和 StreamExecutionEnvironment.execute() 的执行方式有所调整,

    简单概述为:

    1. StreamTableEnvironment.execute() 只能执行 sqlUpdate 和 insertInto 方法执行作业;

    2. Table 转化为 DataStream 后只能通过 StreamExecutionEnvironment.execute() 来执行作业;

    3. 新引入的 TableEnvironment.executeSql() 和 StatementSet.execute() 方法是直接执行sql作业

    (异步提交作业),不需要再调用 StreamTableEnvironment.execute()

    或 StreamExecutionEnvironment.execute()

    详细可以参考 [1] [2]

    对于 “No operators defined in streaming topology.”,如果使用

    TableEnvironment.executeSql() 或者 StatementSet.execute() 方法提交的作业后再调用

    StreamTableEnvironment.execute() 或 StreamExecutionEnvironment.execute()

    提交作业,就会出现前面的错误。

    对于

    “是不是不推荐在作业里同时使用executeSQL和StatementSet.execute?”,这个答案是no。executeSql和StatementSet不会相互干扰。对于出现的错误,能给一个更详细的提交作业的流程描述吗?

    [1]

    https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/dev/table/common.html#%E7%BF%BB%E8%AF%91%E4%B8%8E%E6%89%A7%E8%A1%8C%E6%9F%A5%E8%AF%A2

    [2]

    https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/dev/table/common.html#%E5%B0%86%E8%A1%A8%E8%BD%AC%E6%8D%A2%E6%88%90-datastream-%E6%88%96-dataset*来自志愿者整理的flink邮件归档

    2021-12-07 16:18:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载