介绍
若内置的 Connector 无法满足需求,可以考虑自定义 Connector 功能,即用户可以自行上传实现了相应 Source 和 Sink 接口的类实现,然后作业在运行时会动态加载并调用。
版本说明
Flink 版本 | 说明 |
1.11 | 支持 |
1.13 | 支持 |
1.14 | 支持 |
1.16 | 支持 |
选择合适的 Connector
用户可以选择第三方提供的 Connector 实现包(例如下面介绍的 Bahir),或者自行通过编程的方式实现。
Apache Bahir 第三方包
Apache Bahir 为 Flink 提供了常见的数据源和数据目的的扩展包。
目前 Bahir 支持如下的第三方组件:
自行编程实现
构建并上传 Connector 包
步骤一:源码构建
建议参考现有的 Connector 的项目,修改其
pom.xml
配置文件,引入相关的依赖包,然后通过 Maven 构建一个 JAR 包。说明
尽量使用
maven-shade-plugin
将常见的依赖(例如 Apache Commons、Guava 等相关的包)进行 shade 化,以避免引入的库与流计算平台本身的类发生冲突。步骤二:上传程序包
步骤三:作业参数引用程序包
在作业的详情页,作业参数选择引用之前上传的程序包和版本。
注意
请务必确认程序包的版本是否符合预期,避免出现各种不可预知的错误。
步骤四:保存并发布
选择程序包后,可以单击保存,也可以选择直接发布草稿。