flinkcdc 动态的增加新的同步表到同一个作业中

文章介绍了FlinkCDC2.0版本新增的动态加表功能,允许在现有作业中直接添加监控的表,避免资源浪费。通过修改代码启用.scanNewlyAddedTableEnabled(true),并在作业中指定数据库和表名,可以实现新增表的全量和增量同步。如果遇到问题,如未同步新表,可能需确保配置正确,特别是启动选项应设为initial。

背景

flinkcdc 2.0版本上线了一个新功能–支持动态加表这个是很有用的feature,本文介绍在开发中如何使用。

设想下假如你一个 CDC pipeline 监控了 4 张表,突然有天业务需求需要再加几张表,你肯定不想另起作业 (浪费资源),那么这个
feature 可以让你在当前作业直接增加需要监控的表。新增表都是先做全量再优雅地切换到增量,遇到新增监控表时不用新起作业,极大地节约了资源

flinkcdc 使用 flink-sql 的方式每同步一张表都需要启动一个新的作业,因此不存在同一个作业中 新增表的问题。该feature主要针对 api 的方式。flinkcdc 只能作为 source 用于采集数据,常用的使用方法如下:

private static MySqlSource<String> createMysqlSource(ParameterTool param) {
   
   
        return MySqlSource.<String>builder()
                .hostname(param.get(ConfigConstant.SOURCE_MYSQL_HOST))  // mysql host, 127.0.0.1
                .port(param.getInt(ConfigConstant.SOURCE_MYSQL_PORT))  // mysql port,  3306
                .username(param.get(ConfigConstant.SOURCE_MYSQL_USERNAME)) // username
                .password(param.get(ConfigConstant.SOURCE_MYSQL_PASS)) // pass
                .databaseList("aa") //库名
                .tableList(
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值