博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

Canal 同步表级DDL 表过滤 正则

 

基于 日志增量订阅&消费 的业务:

  1. 数据库镜像
  2. 数据库实时备份
  3. 多级索引 (卖家和买家各自分库索引)
  4. search build
  5. 业务cache刷新
  6. 价格变化等重要业务消息
vim /opt/module/canal/deployer/conf/canal.properties
# table regex 设置白名单,如果在 instance.properties 配置文件中进行该项配置,
# 则在代码中不应该再配置 connector.subscribe(".*\\..*");,
# 如果还在代码中配置,则 配置文件 将会失效!
# canal.instance.filter.regex = .*\\..*
canal.instance.filter.regex = FlinkEtl.employee

# table black regex 设置黑名单
# canal.instance.filter.black.regex = mysql\\.slave_.*
canal.instance.filter.black.regex = mysql\\.slave_.*,FlinkEtl.salary

# mysql 数据解析关注的表,Perl正则表达式. 
# 多个正则之间以逗号,分隔
# 转义符需要双斜杠(\\) 
# 注意:此过滤条件只针对 row 模式的数据有效, 
# mixed、statement 因为不解析sql,所以无法准确提取 tableName 进行过滤
# 例子: 
# 1. 所有表:.* or .*\\..* 
# 2. canal schema 下所有表: canal\\..* 
# 3. canal 下的以 canal 打头的表:canal\\.canal.* 
# 4. canal schema 下的一张表:canal.test1 
# 5. 多个规则组合使用逗号分隔:canal\\..*,mysql.test1,mysql.test2

 

 

 

 

 

posted @ 2022-08-22 11:00  CHANG_09  阅读(1244)  评论(0编辑  收藏  举报