本文介绍如何在云原生数据仓库AnalyticDB MySQL版湖仓版(3.0)中查询并导入Tablestore数据。
前提条件
- 已创建Tablestore实例。具体操作,请参见使用流程。
- 已创建AnalyticDB MySQL湖仓版(3.0)集群。具体操作,请参见创建湖仓版(3.0)集群。说明 如果在创建Tablestore实例时绑定了VPC,请确保AnalyticDB MySQL与Tablestore有相同的VPC。
背景信息
Tablestore是阿里云自研的NoSQL多模型数据库,支持多元索引查询。您可以在AnalyticDB MySQL中调用TableStore API进行数据查询,例如点查询、范围查询等。同时,支持智能选择主表、二级索引表和多元索引表,大大提升查询性能,降低用户成本。关于多元索引的详细信息,请参见多元索引。
TableStore实例是您使用和管理表格存储服务的实体,每个实例相当于一个数据库。Tablestore的实例对应AnalyticDB MySQL的Schema或Database。Tablestore实例如果没有绑定VPC网络,那么AnalyticDB MySQL可以直接访问。如果Tablestore实例绑定了VPC网络,那么请确保AnalyticDB MySQL和Tablestore实例配置的VPC相同。
示例数据说明
本文示例中,在Tablestore中创建
person
表,并向表中插入4条记录。如果您已经有数据源,请跳过该步骤。id(主键) | name | age |
---|---|---|
1 | james | 10 |
2 | bond | 20 |
3 | jack | 30 |
4 | lucy | 40 |
操作步骤
- 进入SQL编辑器。
- 登录云原生数据仓库AnalyticDB MySQL控制台。
- 在页面左上角,选择集群所在地域。
- 在左侧导航栏,单击集群列表。
- 在湖仓版(3.0)页签下,单击目标集群ID。
- 在左侧导航栏,单击 。
- 创建外部数据库。以创建
adb_external_db
数据库为例,建库示例语句如下:create external database adb_external_db;
- 创建外表。说明 AnalyticDB MySQL外表和TableStore中表的字段名称、字段数量、字段顺序一致,字段类型兼容。数据类型映射关系,请参见数据类型映射关系。在
adb_external_db
数据库中,创建person
表,建表示例语句如下:CREATE EXTERNAL TABLE IF NOT EXISTS adb_external_db.person ( id int, name string, age int ) ENGINE = 'OTS' TABLE_PROPERTIES = '{ "mapped_name":"person", "location":"https://w0****la.cn-hangzhou.vpc.tablestore.aliyuncs.com" }'
参数 说明 ENGINE='OTS’
外表的存储引擎。读写Tablestore数据时,取值为OTS。 mapped_name
Tablestore实例中的表名称。查看Tablestore实例的表名称,登录表格存储控制台,在实例管理页面查看。 location
Tablestore实例的VPC访问地址。查看Tablestore实例的VPC访问地址,登录表格存储控制台,在实例管理页面查看。 - 外表创建成功后,AnalyticDB MySQL自动将Tablestore的表数据映射到AnalyticDB MySQL表。您可以在AnalyticDB MySQL中通过SELECT查询Tablestore中
person
表的数据。select * from adb_external_db.person;
返回结果如下:+------+-------+------+ | id | name | age | +------+-------+------+ | 1 | james | 10 | | 2 | bond | 20 | | 3 | jack | 30 | | 4 | lucy | 40 | +------+-------+------+ 4 rows in set (0.35 sec)
- 如果需要导入Tablestore数据到AnalyticDB MySQL,可查看接下来的步骤。
数据类型映射关系
Tablestore支持的数据类型与AnalyticDB MySQL数据类型的映射关系如下:
Tablestore支持的数据类型 | 映射到AnalyticDB MySQL的数据类型 |
INTEGER(8字节) | BIGINT(8字节) |
STRING | VARCHAR |
BINARY | BINARY |
DOUBLE | DOUBLE |
BOOLEAN | BOOLEAN |