源端为MySQL,目的端为DMS Kafka
本章节适用于配置实时处理集成作业MySQL到DMS Kafka链路,期望将源端1个或多个Mysql实例的数据实时同步到目的端为DMS Kafka数据库的场景。
同步场景
- 整库:适用于将1个源端为Mysql实例上的多个数据库表实时同步到1个目标端为DMS Kafka实例的多个库表。
- 分库分表:适用于将多个源端为Mysql实例上的多个分库中的分表实时同步到1个目标端为DMS Kafka实例的汇聚表。
整库场景
- 源端配置。
库与表均支持自定义选择,即可选择一库一表,也可选择多库多表。
- 目标端配置。
图2 配置目标端参数
- 设置源表与Topic映射规则:
- 目标Topic名称规则:源端表名与目的端Topic名的映射规则,可以指定为单一Topic,也可使用内置字段做映射。
#{source_db_name}:源库名。
#{source_table_name}:源库名。
- 同步kafka partition策略:支持以下三种投递策略,源端无主键情况下,目的端默认投递到partition 0。
- 按库名+表名的hash值投递到不同Partition。
- 全部投递到Partition 0。
- 按表的主键值hash值投递到不同的Partition。
- 需要同步的数据库操作:支持同步的数据库操作为DDL和DML。
- 投递到Kafka的数据格式:投递到Kafka的数据格式有Debezium JSON和Canal JSON。
- 目标Topic名称规则:源端表名与目的端Topic名的映射规则,可以指定为单一Topic,也可使用内置字段做映射。
- 源表与目标表映射:支持用户根据实际需求修改映射后的目的端topic名称,可以配置为一对一、多对一的映射关系。
图3 配置源表与目标表映射
- 设置源表与Topic映射规则:
分库分表场景
- 源端配置。
图4 添加逻辑表
逻辑表名:即最终写入到DMS Kafka的表名。
源库过滤条件:支持填入正则表达式,在所有Mysql实例中通过该正则表达式过滤出要写入目标端DWS汇聚表的所有分库
源表过滤条件:支持填入正则表达式,在过滤出的源端分库中再次过滤出要写入目标端DWS汇聚表的所有分表
已添加的逻辑表支持预览,单击操作列的预览即可。
预览逻辑表,源表数量越多,等待时间可能越长,请耐心等待。
图5 逻辑表预览
- 目标端配置。
图6 配置目标端参数
- 设置源表与Topic映射规则:
- 目标Topic名称规则:源端表名与目的端Topic名的映射规则,可以指定为单一Topic,也可使用内置字段做映射。
#{source_db_name}:源库名。
#{source_table_name}:源库名。
- 同步kafka partition策略:支持以下三种投递策略,源端无主键情况下,目的端默认投递到partition 0。
- 按库名+表名的hash值投递到不同Partition。
- 全部投递到Partition 0。
- 按表的主键值hash值投递到不同的Partition。
- 需要同步的数据库操作:支持同步的数据库操作为DDL和DML。
- 投递到Kafka的数据格式:投递到Kafka的数据格式有Debezium JSON和Canal JSON。
- 目标Topic名称规则:源端表名与目的端Topic名的映射规则,可以指定为单一Topic,也可使用内置字段做映射。
- 源表与目标表映射:支持用户根据实际需求修改映射后的目的端topic名称,可以配置为一对一、多对一的映射关系。
图7 配置源表与目标表映射
- 设置源表与Topic映射规则: