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