You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by "casel.chen" <ca...@126.com> on 2023/03/28 11:24:49 UTC
找到多个default类型的ExecutorFactory导致提交flink sql作业失败
我的实时作业项目想解析sql获取到TableIdentifier做sql血缘,使用的版本是flink 1.15.2,同时引入了 flink-table-planner_2.12 和 flink-table-planner-loader 依赖,debug时发现
TableEnvironmentImpl create(EnvironmentSettings settings) 方法会调用
FactoryUtil.discoverFactory(classLoader, ExecutorFactory.class, ExecutorFactory.DEFAULT_IDENTIFIER)方法
去寻找带有default标识的ExecutorFactory,结果找到了两个,一个是DelegateExcutorFactory,另一个是DefaultExecutorFactory。
于是抛了异常 "Multiple factories for identifier 'default' that implement ExecutorFactory found in the classpath."
进一步查看到这个DelegateExcutorFactory其实代理的是就是DefaultExecutorFactory
请问:
1. 这个DelegateExcutorFactory起什么作用?
2. 这两个module依赖的有什么区别和联系?
3. 项目中只能依赖这两个当中的其中一个jar吗?正确的应该依赖哪个module呢?