Skip to main content

incremental

增量同步参数

如果数据每天只需要同步一次历史数据,且数据有某个字段是递增的,即可使用增量同步。其原理在拼接的查询sql后面加上过滤条件 where 1=1 and increColumn > startLocation,如果useMaxFunc配置为true,则为where 1=1 and increColumn >= startLocation。每次同步完数据之后,会将starLocation值推送到prometheus/mysql上(见metric文档),每次启动的时候,需要在脚本里的startLocation参数值替换为prometheus的值,这个需要配合taier或者自定义一个调度器,从prometheus上拉取数据,替换脚本参数,提交任务运行

参数名称是否必须类型描述
$.parameter.incrementfalseBoolean是否是增量任务
$.parameter.increColumn(none)String增量任务时,此字段必填,增量字段,增量任务会以此字段作为条件字段构建过滤条件,注意字段类型需要为数字或者date,timestamp类型
$.parameter.increColumnType(none)String增量字段对应数据库类型
$.parameter.startLocation(none)String初始值,增量任务起始点
$.parameter.useMaxFuncfalseBoolean如果增量字段值是递增但是最大值有多条数据时,此参数需要设置为true,在本次同步任务的时候不会同步最大值数据,会在下次进行同步
{
"parameter":{
"increment":true,
"increColumn":"id",
"increColumnType":"int",
"useMaxFunc":false
},
"name":"xxxreader"
}