可能的确会存在这个问题。在添加依赖时注意不要将 flink provided 的包打包进去就可以。也可以通过设置 parent-first 来解决这个问题。




在2020年05月28日 11:03,forideal<[email protected]> 写道:
Hi 111,

关于第二点:
`2 配置FLINK_HOME环境变量,自定义的connector放在FLINK_HOME/lib下`
这么做是不是存在如下 `X can't be cast to X ` 隐患
因为把 Connector 放在 lib 中,会有 classloader 的问题,直接的现象就是 X can't be cast to X 
问题[1]。当然这只是说可能会发生。比如,我们把 usercode 代码放入 Flink lib 我们会发现,当我们使用 jar 
包上传的方式运行任务时,jar 中也包含 lib 中的代码会触发这样的问题。
[1] 
https://ci.apache.org/projects/flink/flink-docs-release-1.10/monitoring/debugging_classloading.html#x-cannot-be-cast-to-x-exceptions


Best
forideal








在 2020-05-28 10:16:45,"111" <[email protected]> 写道:
Hi,
想要在sqlgateway里面使用,那么可以看看下面几个条件:
1 满足SPI的要求,能让flink自动发现实现类
2 配置FLINK_HOME环境变量,自定义的connector放在FLINK_HOME/lib下
3 如果与Hive集成,使用hivecatalog,那么先要注册表
这样就可以使用了。
Best,
Xinghalo

回复