最近在进行flink sql 任务开发,在idea中执行都正常,但是打成jar包后,使用 java -jar 或者上传到flink 集群 就报错。
后文提供了2个解决办法,亲测可行。
报错内容如下:
Exception in thread "main" org.apache.flink.table.api.TableException: Could not instantiate the executor. Make sure a planner module is on the classpath
at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.lookupExecutor(StreamTableEnvironmentImpl.java:194)
at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:156)
at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:128)
at com.gbl.starter.FlinkSqlTask.getEnv(FlinkSqlTask.java:68)
at com.gbl.starter.FlinkSqlTask.main(FlinkSqlTask.java:28)
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.delegation.ExecutorFactory' in
the classpath.
Reason

文章讲述了在开发FlinkSQL任务时遇到的TableException问题,该问题发生在将任务从IDEA环境打包成jar后,在命令行或Flink集群中执行时报错。作者提到了两种解决办法:1)调整maven-shade-plugin的打包配置;2)使用maven-jar-plugin进行打包并包含依赖。这两种方法都经过验证可以解决问题。
最低0.47元/天 解锁文章
1979

被折叠的 条评论
为什么被折叠?



