社区版CDC

本文为您介绍如何在阿里云实时计算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作业

  1. Apache Flink CDC页面,单击目标社区发行版本,推荐您使用V3.0.1(稳定版本)。

    说明

    为了避免兼容性问题,请尽量选择和VVR版本相对应的Release版本。版本对应关系请参见CDC与VVR版本对应关系

  2. 在目标CDC连接器页面,单击下载JAR包。

    image

    说明

    您也可以前往Maven中央仓库下载对应的JAR包。

  3. 登录实时计算控制台,并在左侧导航栏单击数据连接

    image.png

  4. 数据连接页面,单击创建自定义连接器,并上传第2步中下载的JAR文件。

    详情请参见管理自定义连接器

  5. 编写SQL作业时,将社区版CDC连接器的名字作为connector参数取值。

    各连接器支持的参数请参考Apache Flink CDC

JAR作业

  1. 如需在JAR作业中使用对应的连接器,需在pom.xml文件中声明如下依赖。

    <dependency>
      <groupId>com.ververica</groupId>
      <artifactId>flink-connector-${需要使用的连接器名称}-cdc</artifactId>
      <version>${对应的社区连接器版本}</version>
    </dependency>

    Maven仓库中仅有release版,不包含snapshot版本。如需使用快照版本,可以克隆GitHub仓库,并自行编译快照版本的JAR包。

  2. 在代码中 import对应的连接器实现类,并根据文档说明使用。

    重要

    请注意区分具有不同Artifact ID的flink-connector-xxxflink-sql-connector-xxx

    • flink-connector-xxx:仅包含连接器本体代码,未包含其他依赖,如需使用需要自行声明依赖。

    • flink-sql-connector-xxx:将全部依赖打包到单个JAR包中,可以直接使用。

    请根据需求选择,比如Flink开发控制台上创建自定义连接器时,采用flink-sql-connector-xxx

更改连接器名字

本文以社区版SQL Server CDC连接器为例说明如何更改连接器名称。

  1. 克隆GitHub仓库,切换到指定版本的分支代码。

  2. 更改SQL Server CDC连接器工厂类的Identifier。

    //com.ververica.cdc.connectors.sqlserver.table.SqlServerTableFactory
    @Override
    public String factoryIdentifier() {
        return "sqlserver-cdc-test";
    }
  3. 对flink-sql-connector-sqlserver-cdc子模块编译打包。

  4. 数据连接页面,单击创建自定义连接器,并上传第3步中打包好的JAR文件。

    详情请参见管理自定义连接器

  5. 按照SQL作业步骤编写SQL作业时,将连接器的名字作为 connector参数传入,即sqlserver-cdc-test