flink用的1.12.2,要sink到hdfs,选用了StreamingFileSink,导入依赖的时候maven仓库并没有1.12.2的flink-connector-filesystem的jar包,我应该选用哪个版本合适*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您使用Flink 1.12.2版本并希望sink数据到HDFS,但发现Maven仓库中没有明确对应1.12.2版本的flink-connector-filesystem
的问题,您可以采取以下策略来选择合适的依赖版本:
兼容性选择:通常,Flink的连接器(如flink-connector-filesystem
)在不同小版本之间的兼容性较好。因此,即使找不到精确的1.12.2版本,也可以尝试使用相近的小版本号,比如1.12.x系列中的其他版本。确保所选版本与您的Flink核心库版本兼容。
查看官方文档或Maven仓库:访问Apache Flink官方网站或直接搜索Maven中央仓库,查找flink-connector-filesystem
最新的稳定版本,并确认该版本是否声明了与Flink 1.12.2的兼容性。
Maven坐标调整:一旦确定了合适的版本号,您可以在Maven的pom.xml
文件中添加相应的依赖项,示例如下(请替换{compatible.version}
为实际找到的兼容版本号):
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-filesystem_${scala.binary.version}</artifactId>
<version>{compatible.version}</version>
</dependency>
注意这里${scala.binary.version}
应根据您的Flink安装所使用的Scala版本进行替换,通常是2.11
或2.12
。
考虑使用更稳定的长期支持(LTS)版本:如果遇到频繁的版本兼容问题,考虑升级到Flink的长期支持版本,这些版本往往有更长的支持周期和更好的生态兼容性。
编译源码:作为最后的手段,如果您确实需要特定版本且无法直接获取,可以考虑从Flink的GitHub仓库下载源代码,然后按照项目构建指南自行编译所需模块生成对应的JAR包。但这通常较为繁琐,且不推荐作为常规解决方案。
综上所述,建议首先尝试寻找与Flink 1.12.2最接近且声明兼容的flink-connector-filesystem
版本,并通过上述步骤配置依赖。