本文为您介绍如何在阿里云实时计算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 | 
| vvr-8.0.11-flink-1.17 ~ vvr-11.1-jdk11-flink-1.20 | release-3.4 | 
社区版CDC连接器使用方法
SQL作业
- 在Apache Flink CDC页面,单击目标社区发行版本(推荐使用最新稳定版本)。 说明- 为了避免兼容性问题,请尽量选择和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。