RDS增量导入

本文介绍如何进行RDS增量导入。

注意事项

RDS增量导入功能于20230310日下线。20230310日后购买的LTS将无法使用RDS增量导入功能,20230310日前购买的LTS仍可正常使用此功能。

前提条件

  • LTS的购买时间在20230310日之前。

  • 购买LTS数据迁移同步服务,配置LTS操作页面账户密码。

  • 已打通LTSHBase迁移集群的网络。

  • 已添加HBase集群数据源。

  • 开通DTS订阅服务, 添加DTS数据源。

适用版本

  • 自建HBase1.x、2.x

  • EMR HBase

  • 标准版云HBase、增强版云HBase(单机版本、集群版本)

  • HBase Phoenix

任务创建

  1. 登录LTS操作页面,具体操作请参见登录LTS

  2. 在左侧导航栏中选择导入Lindorm/HBase > RDS实时数据复制RDS实时数据复制

  3. 单击创建通道,设置RDS数据源目标数据源(HBase、Phoenix),输入需要迁移的表Mapping信息。DTS订阅通道

  4. 单击创建同步通道

参数说明

  • HBase表映射

    {
      "mapping": [
        {
          "columns": [
            {
              "name": "cf1:hhh",
              "value": "{{ concat(title, id) }}"
            },
            {
              "name": "cf1:title",
              "value": "title"
            },
            {
              "name": "cf1:*"
            }
          ],
          "config": {
            "skipDelete": true
          },
          "rowkey": {
            "value": "{{ concat('idg', id) }}"
          },
          "srcTableName": "hhh_test.test",
          "targetTableName": "default:_test"
        }
      ]
    }
                        

    参数

    描述

    必选

    mapping[y].srcTableName

    RDS源表表名。

    mapping[y].targetTableName

    HBase目标表名。

    mapping[y].columns

    RDS表和HBase表列的对应。

    mapping[y].columns[x].name

    对应的HBase的列名。

    mapping[y].columns[x].value

    对应的HBase列的计算表达式,该计算表达式为jtwig语法,当用户需要对源表的列进行简单计算得到rowkey时可以用。

    mapping[y].config

    表的同步策略。

    mapping[y].rowkey

    HBase表的rowkey的生成规则。

    • 支持简单的表达式,如下

      {
        "name": "cf1:hhh",
        "value": "{{ concat(title, id) }}"
      }
                                  
    • 支持动态列,没有匹配到的列会走默认的匹配。

      {
          "name": "cf1:*",
      }
                                  
    • 支持指定订阅的起始时间(DTS订阅通道中包含指定时间戳以后的数据)。

      {
        "config": {
            "startOffset":1569463200 // 秒
        },
        "mapping": [
            "srcTableName": "hhh_test.test",
            "targetTableName": "default:test",
            "columns": [
              {
                "name": "cf1:*"
              }
            ],
            "config": {
              "skipDelete": true
            },
            "rowkey": {
              "value": "{{ concat('idg', id) }}"
            }
          }
        ]
      }
                                  
    • DML支持情况

      操作

      支持

      备注

      INSERT

      对应HBasePUT

      UPDATE

      对应HBasePUT

      DELETE

      用户可以配置是否同步源端的DELETE,默认不同步

  • Phoenix表映射

    {
      "mapping": [
        {
          "srcTableName": "hhh_test.phoenix_test",
          "targetTableName": "phoenix_test",
          "config": {
            "skipDelete": true
          },
          "columns": [
            {
              "name": "id",
              "isPk": true
            },
            {
              "name": "title",
              "value": "title"
            },
            {
              "name": "ts",
              "value": "ts"
            },
            {
              "name": "datetime",
              "value": "datetime"
            }
          ]
        }
      ]
    }
                        

    参数

    描述

    必选

    mapping[y].srcTableName

    RDS源表表名

    mapping[y].targetTableName

    Phoenix目标表名

    mapping[y].columns

    RDS表和Phoenix表列的对应

    mapping[y].columns[x].name

    Phoenix的列名

    mapping[y].columns[x].value

    对应RDS列名

    mapping[y].columns[x].isPk

    指定主键列

    mapping[y].config

    表的同步策略

    mapping[y].rowkey

    HBase表的rowkey的生成规则