关键字:
KingbaseFlySync、KFS、同步程序、replicator、列、过滤
1.功能描述
KFS进行DML语句解析同步时,默认是会解析需要同步表的所有增量数据,该过滤器可以实现对DML中表的列进行过滤,用户可以自行定义过滤条件,作用于数据搬迁、实时同步和数据比对模块。
2.使用场景介绍
在目标端将DML中的列进行过滤。
3.配置使用方式介绍
在目标端flysync.ini文件中添加以下参数:
svc-remote-filters=dropcolumn
property=replicator.filter.dropcolumn.definitionsFile=/home/test/dropcolumn.json
参数dropcolumn.definitionsFile指定dropcolumn.json文件的路径。
dropcolumn.json配置示例

4.示例
4.1前置条件
1)目标端需要将源端C4和C5列过滤
| 源端 | 目标端 | |
|---|---|---|
| 模式名 | TEST | test |
| 表名 | T1 | t1 |
| 列名 | C1,C2,C3,C4,C5 | c1,c2,c3 |
4.2操作步骤
1)部署目标端KFS时,在flysync.ini文件中添加列级过滤参数,将DML中列进行过滤。
[defaults]
︙
[xxx]
︙
svc-remote-filters=casetransform,dropcolumn
#dropcolumn参数
property=replicator.filter.dropcolumn.definitionsFile=/home/test/dropcolumn.json
#casetransform参数
property=replicator.filter.casetransform.to_upper_case= false
︙
2)dropcolumn.json文件内容如下
[
{
"schema": "test",
"table": "t1",
"columns": [
"c4",
"c5"
]
}
]
说明:多个过滤器联合使用时,dropcolumn需配置在最后,且根据过滤器先后顺序对配置文件进行调整。如上述示例中先进行了大小写转换(casetransform)再进行列级过滤(dropcolumn),所以dropcolumn.json文件中需按照大小写转换后的结果进行配置。示例是将DML转换为小写,所以dropcolumn.json中配置为小写。
3)参考《Kingbase FlySync 安装部署手册》完成安装部署
4.3结果展示

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




