本文为您介绍如何在阿里云实时计算Flink版中使用社区版CDC(Change Data Capture)连接器,以及更改连接器名称。
社区版CDC连接器是遵循Apache 2.0开源协议的社区开源项目,与阿里云实时计算Flink版产品提供的商业版连接器在服务支持及SLA存在差异:
在使用时,如果您遇到配置失败、作业失败或数据丢失等问题,需要到开源社区寻找对应问题的解决方案,阿里云实时计算Flink团队对使用社区版CDC连接器问题不提供技术支持服务。
社区版CDC连接器的SLA需要您自行保障。
可用的CDC连接器列表
CDC连接器 | 说明 |
已经在实时计算Flink版中提供,您无需使用社区版CDC连接器。 | |
左侧列表中这些未商业化的社区版CDC连接器的使用方法,请参见社区版CDC连接器使用方法。 说明 在使用社区版CDC连接器或者自定义连接器时,如果已经存在同名实时计算Flink版内置连接器或自定义连接器,请更改默认的连接器名字,避免与内置连接器冲突。其中SQL Server CDC和Db2 CDC需要修改社区默认的连接器名字并重新打包,例如将sqlserver-cdc改名为sqlserver-cdc-test,详情请参见更改连接器名字。 |
CDC与VVR版本对应关系
VVR版本 | 社区版本 |
vvr-4.0.0-flink-1.13 ~ vvr-4.0.6-flink-1.13 | release-1.4 |
vvr-4.0.7-flink-1.13 ~ vvr-4.0.9-flink-1.13 | release-2.0 |
vvr-4.0.10-flink-1.13 ~ vvr-4.0.12-flink-1.13 | release-2.1 |
vvr-4.0.13-flink-1.13 ~ vvr-4.0.14-flink-1.13 | release-2.2 |
vvr-4.0.15-flink-1.13 ~ vvr-6.0.2-flink-1.15 | release-2.3 |
vvr-6.0.2-flink-1.15 ~ vvr-8.0.5-flink-1.17 | release-2.4 |
vvr-8.0.1-flink-1.17 ~ vvr-8.0.7-flink-1.17 | release-3.0 |
社区版CDC连接器使用方法
SQL作业
在Apache Flink CDC页面,单击目标社区发行版本,推荐您使用V3.0.1(稳定版本)。
说明为了避免兼容性问题,请尽量选择和VVR版本相对应的Release版本。版本对应关系请参见CDC与VVR版本对应关系。
在目标CDC连接器页面,单击下载JAR包。
说明您也可以前往Maven中央仓库下载对应的JAR包。
登录实时计算控制台,并在左侧导航栏单击数据连接。
在数据连接页面,单击创建自定义连接器,并上传第2步中下载的JAR文件。
详情请参见管理自定义连接器。
编写SQL作业时,将社区版CDC连接器的名字作为
connector
参数取值。各连接器支持的参数请参考Apache Flink CDC。
JAR作业
如需在JAR作业中使用对应的连接器,需在
pom.xml
文件中声明如下依赖。<dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-${需要使用的连接器名称}-cdc</artifactId> <version>${对应的社区连接器版本}</version> </dependency>
Maven仓库中仅有release版,不包含snapshot版本。如需使用快照版本,可以克隆GitHub仓库,并自行编译快照版本的JAR包。
在代码中
import
对应的连接器实现类,并根据文档说明使用。重要请注意区分具有不同Artifact ID的
flink-connector-xxx
和flink-sql-connector-xxx
。flink-connector-xxx
:仅包含连接器本体代码,未包含其他依赖,如需使用需要自行声明依赖。flink-sql-connector-xxx
:将全部依赖打包到单个JAR包中,可以直接使用。
请根据需求选择,比如Flink开发控制台上创建自定义连接器时,采用
flink-sql-connector-xxx
。
更改连接器名字
本文以社区版SQL Server CDC连接器为例说明如何更改连接器名称。
克隆GitHub仓库,切换到指定版本的分支代码。
更改SQL Server CDC连接器工厂类的Identifier。
//com.ververica.cdc.connectors.sqlserver.table.SqlServerTableFactory @Override public String factoryIdentifier() { return "sqlserver-cdc-test"; }
对flink-sql-connector-sqlserver-cdc子模块编译打包。
在数据连接页面,单击创建自定义连接器,并上传第3步中打包好的JAR文件。
详情请参见管理自定义连接器。
按照SQL作业步骤编写SQL作业时,将连接器的名字作为
connector
参数传入,即sqlserver-cdc-test
。