本文主要介绍RDS全量同步和增量同步的操作过程。
注意事项
RDS全增量同步功能于2023年3月10日下线。2023年3月10日后购买的LTS将无法使用RDS全增量同步功能,2023年3月10日前购买的LTS仍可正常使用此功能。
使用场景
- RDS低成本历史库。 
- RDS数据全量迁移至Lindorm。 
前提条件
- LTS的购买时间在2023年3月10日之前。 
- 已登录LTS页面。具体操作,请参见登录同步任务。 
- LTS、云数据库HBase迁移集群、RDS实例的网络已连通(都在同一个VPC中可以跳过)。 
功能列表
- RDS数据全增量一体同步到Lindorm宽表模型(兼容HBase访问)。 
- RDS数据变换,请参见配置说明。 
- RDS多表同步。 
使用限制
- RDS全量同步支持数据源MySQL。 
- RDS增量同步支持数据源DTS。 
- 支持目标数据源LindormSQL,Lindorm宽表模型(兼容HBase访问)。 
操作步骤
- 在LTS操作页面中,单击导入Lindorm/HBase > RDS全增量同步。 
- 单击创建任务。 
- 选择RDS数据源、DTS数据源以及目标数据源。  
- 单击编辑可以查看默认配置说明,也可以修改配置说明,请参见配置说明。 
- 选择要同步的表,单击生成配置。 
- 单击创建。 
配置说明
SQL表同步配置说明,具体语法请参见Jtwig语法说明。
{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",//全量同步查询语句,一个语句对应一个读取线程
      "select * from dts.cluster where id >= 1000"//建议进行拆分提高速度和减小重试代价
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "id", //目标表中字段名称
                "value": "id",//原表中字段名称
                "isPk": true , //是否是主键
                "type": "BIGINT" //可以不填写,默认同RDS表类型一致
            },
      {
                "name": "cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
                "name": "id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",//支持Jtwig域名对数据进行变换
                "isPk": true
            },
        ],
        "config": {
            "skipDelete": true //跳过删除操作
        },
     "table": {
         "name": "dts.cluster", //Lindorm表名,中间使用半角句号(.)隔开
         "parameter": {
             "compression": "ZSTD"
        }
    },
    "sourceTable": "dts.cluster" 
    }
}HBase API访问同步配置说明。
{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",//全量同步查询语句,一个语句对应一个读取线程
      "select * from dts.cluster where id >= 1000"//建议进行拆分提高速度和减小重试代价
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "f:id",//目标表中字段名称
                "value": "id", //原表中字段名称
        "isPk": false //不影响同步忽略
            },
            {
                "name": "f:cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
        "name": "f:id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",//支持Jtwig域名对数据进行变换
       }
        ],
        "rowkey": {
            "value": "id" //hbase模型中rowkey由RDS哪些字段组成,支持Jtwig语法
        },
        "config": {
            "skipDelete": true//跳过删除操作
        },
        "table": {
            "name": "dts:cluster",// Lindorm/HBase中表名
            "parameter": {
                "compression": "ZSTD",//Lindorm/HBase中,新建表压缩算法,推荐使用ZSTD
        "split":["1", "5", "9", "b"] //指定splitkey,对新建表进行预分区
            }
        },
        "sourceTable": "dts.cluster"
    }
}
                该文章对您有帮助吗?