表格存储提供了管理控制台、命令行工具(Tablestore CLI)和Tablestore SDK三种访问方式。通过Tablestore CLI使用表格存储时序模型(TimeSeries)时,您需要根据所用平台下载相应命令行工具,然后使用命令行工具进行开通表格存储服务、创建实例、配置接入实例信息、创建时序表、读写时序表中数据以及使用SQL查询数据的操作。
前提条件
已获取用于操作表格存储的阿里云账号或者RAM用户的登录信息。
如果未注册阿里云账号,您需要在阿里云官网注册阿里云账号。
如果要使用RAM用户体验表格存储功能,您需要使用阿里云账号创建RAM用户并授予RAM用户访问表格存储的权限。具体操作,请参见通过RAM Policy为RAM用户授权。
注意事项
目前支持时序模型功能的地域包括华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、日本(东京)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)。
通过命令行工具只能创建按量模式下的高性能实例。如果要创建按量模式下的容量型实例或者预留模式下的实例,请通过控制台创建实例。具体操作,请参见创建实例或者创建时序模型实例。
如果使用过程中遇到问题,请通过钉钉加入用户群44327024(物联网存储 IoTstore 开发者交流群
)联系我们。
步骤一:下载并启动命令行工具
根据所用平台下载命令行工具。
平台
下载地址
Windows
Linux
macOS
解压缩下载的工具包,进入命令行工具根目录后,根据所用平台选择相应方式启动命令行工具。
对于Windows平台,双击ts.exe文件。
对于Linux和macOS平台,执行
./ts
命令。
说明如果在Linux系统或者macOS系统下无可执行权限,请执行
chmod 755 ts
命令赋权后再启动命令行工具。如果macOS系统提示
无法打开“ts”,因为Apple无法检查其是否包含恶意软件
,您需要在隐私与安全性中设置允许打开ts
命令。启动界面如下所示。
# Welcome to use Command Line Tool for Aliyun Tablestore. Current Version is '2021-11-11'. # _______ _ _ _ # |__ __| | | | | | | # | | __ _ | |__ | | ___ ___ | |_ ___ _ __ ___ # | | / _' || '_ \ | | / _ \ / __|| __| / _ \ | '__| / _ \ # | || (_| || |_) || || __/ \__ \| |_ | (_) || | | __/ # |_| \__,_||_.__/ |_| \___| |___/ \__| \___/ |_| \___| # # Please visit our product website: https://www.aliyun.com/product/ots # You can also join our DingTalk Chat Group (ID: 11789671 or 23307953) to discuss and ask Tablestore related questions. # tablestore>
步骤二:开通表格存储服务
如果已经开通表格存储服务,请跳过此操作。服务仅需开通一次,开通过程免费。
通过config命令配置AccessKey信息。更多信息,请参见启动并配置接入信息。
重要此处必须使用阿里云账号的AccessKey(包括AccessKey ID和AccessKey Secret)。关于获取AccessKey的具体操作,请参见获取AccessKey。
config --id NTS********************** --key 7NR2****************************************
执行
enable_service
命令,开通表格存储服务。
步骤三:创建实例
通过create_instance命令创建一个高性能实例。更多信息,请参见实例操作。
执行以下命令,在华东1(杭州)地域创建myinstance实例,实例类型为高性能实例。
create_instance -d "First instance created by CLI." -n myinstance -r cn-hangzhou
步骤四:配置接入实例信息
通过config命令配置接入信息。更多信息,请参见启动并配置接入信息。
执行以下命令,使用已创建的myinstance实例配置接入信息。
config --endpoint https://myinstance.cn-hangzhou.ots.aliyuncs.com --instance myinstance --id NTSVLeBHzgX2iZfcaXXPJ**** --key 7NR2DiotscDbauohSq9kSHX8BDp99bjs7eNpCR7o****
步骤五:创建并使用时序表
创建时序表后,选择要进行操作的时序表,用于后续表操作或者数据操作。
执行以下命令,创建mytable时序表。
create -m timeseries -t mytable --ttl -1
执行
use --ts -t mytable
命令,使用mytable时序表。
步骤六:数据操作
根据需要进行数据操作,您可以写入时序数据、导入时序数据、查询时序数据、检索时间线、扫描时间线以及更新时间线。
导入时序数据
以下示例用于导入import_timeseries.txt文件中的时序数据到时序表中。
import_timeseries --input /temp/import_timeseries.txt
import_timeseries.txt文件中的配置示例如下:
cpu,hostname=host_0,region=cn-hangzhou usage_user=58i,usage_system=2i,usage_idle=24i 1609459200000000000 cpu,hostname=host_1,region=cn-hangzhou usage_user=58i,usage_system=2i,usage_idle=24i 1609459200000000000
查询时序数据
以下示例用于查询度量名称为cpu,数据源标识为host_0,且标签为"hostname=host_0"和"region=cn-hangzhou"的时间线中1667638230000000之前产生的所有时序数据。
getts --k '["cpu","host_0",["hostname=host_0","region=cn-hangzhou"]]' --time_start 0 --time_end 1667638230000000 --limit 100
检索时序线
以下示例用于检索度量名称为cpu且数据源标识为host_0的时间线。
query_ts_meta --measurement cpu --datasource host_0 --limit 10
扫描时间线
query_ts_meta --limit 10
更新时间线
以下示例用于更新指定时间线的属性为"hostname=host_1"和"region=cn-hangzhou"。
update_ts_meta --k '["cpu","host_1",["hostname=host_1","region=cn-hangzhou"]]' --attrs '["hostname=host_1","region=cn-hangzhou"]'
步骤七:使用SQL查询数据
如果要使用SQL语句快速查询表中数据,请执行以下步骤:
执行
sql
命令,进入SQL模式。根据需要查询mytable表中的数据。
如果要检索时间线,选择时间线元数据映射表后,执行SELECT语句查询所需时间线。
例如要查询时序元数据映射表
mytable::meta
中cpu度量类型下的时间线,SQL示例如下:SELECT * FROM `mytable::meta` WHERE _m_name = "cpu" LIMIT 100;
如果要以单值模型查询时序数据,选择单值模型映射表后,执行SELECT语句查询满足条件的时序数据。
例如要查询单值模型映射表
mytable
中cpu度量类型的数据,SQL示例如下:SELECT * FROM mytable WHERE _m_name = "cpu" LIMIT 10;
如果要以多值模型查询时序数据,创建多值模型映射关系后,执行SELECT语句查询满足条件的时序数据。
例如要查询多值模型映射表
mytable::muti_model
中cpu大于20.0的所有度量信息,SQL示例如下:SELECT usage_idle,usage_user,usage_system FROM `mytable::muti_model1` WHERE usage_idle > 20 LIMIT 10;
如果要退出SQL模式,请执行exit;
命令。
相关文档
您可以通过控制台快速体验时序模型。具体操作,请参见通过控制台使用时序模型。
当要在实际业务中使用表格存储时,请参见时序模型介绍和通过SDK使用时序模型文档了解产品时序模型的使用限制、使用流程等信息,并根据业务特点选择合适的计费模式来节省使用成本。更多信息,请参见计费模式使用推荐。
基于时序模型可以实现基于设备接入平台与Tablestore搭建车辆轨迹数据平台等方案。更多方案介绍,请参见场景实战-典型场景架构与实现。