通过命令行工具您可以在时序表中写入时序数据、导入时序数据、查询时序数据、检索时间线、扫描时间线以及更新时间线。
在对时序表进行数据操作前,请先使用表。更多信息,请参见使用表。
写入时序数据
写入时序数据到时序表中。
命令格式
putts --k '["measurement_name","data_source",["tagKey1=tagValue1","tagKey2=tagValue2"]]' --field '[{"c":"fieldname","v":"fieldvalue"},{"c":"bool_field","v":true},{"c":"double_field","v":1.1},{"c":"int_value","v":10,"isint":true}]' --time 1635162859000000
配置项说明请参见下表。
配置项 | 是否必填 | 示例值 | 说明 |
--k | 是 | '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' | 时间线标识,以数组格式表示。包括以下内容:
|
--field | 是 | '[{"c":"fieldname","v":"fieldvalue"},{"c":"bool_field","v":true},{"c":"double_field","v":1.1},{"c":"int_value","v":10,"isint":true}]' | 时序数据的数据列,以JSON数据格式表示。每个数据列包含以下内容:
|
--time | 否 | 1635162859000000 | 该行时序数据对应的时间,格式为时间戳,单位为微秒(us)。 |
示例
插入一行时序数据。
putts --k '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' --field '[{"c":"fieldname","v":"fieldvalue"},{"c":"bool_field","v":true},{"c":"double_field","v":1.1},{"c":"int_value","v":10,"isint":true}]' --time 1635162859000000
导入时序数据
导入本地文件中的时序数据到时序表。
命令格式
Windows平台
import_timeseries --input D:\\localpath\\filename.txt
Linux和Mac平台
import_timeseries --input /localpath/filename.txt
配置项说明请参见下表。
配置项
是否必填
示例值
说明
-i,--input
是
/temp/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
示例文件中的每一行代表一行时序数据,每一行的数据格式为
measurement_name,tags fields timestamp
,各字段说明请参见下表。配置项
是否必填
示例值
说明
measurement
是
cpu
度量值的类型。
tags
是
hostname=host_0,region=cn-hangzhou
每个标签由tagKey和tagValue组成,表示为tagKey=tagValue的格式。
其中第一个标签的tagValue会作为产生数据的数据源,例如示例值中的host_0为产生该行时序数据的数据源。
fields
是
usage_user=58i,usage_system=2i,usage_idle=24i
时序数据的数据列。每个数据列由columnKey和columnValue组成,表示为columnKey=columnValue的格式。
columnValue支持为整型或者浮点数。如果在数值结尾加i,则表示整型,否则表示浮点数。
timestamp
是
1609459200000000000
该行时序数据对应的时间,格式为时间戳,单位为纳秒(ns)。
重要数据导入到时序表后,配置文件中数据的纳秒单位时间戳会自动转换为微秒单位时间戳。
示例
导入import_timeseries.txt文件中的时序数据到时序表中。
import_timeseries --input /temp/import_timeseries.txt
查询时序数据
查询指定范围内的时序数据。
命令格式
getts --k '["measurement_name","data_source",["tagKey1=tagValue1","tagKey2=tagValue2"]]' --time_start 0 --time_end 1635162900000000 --limit 100
配置项说明请参见下表。
配置项 | 是否必填 | 示例值 | 说明 |
--k | 是 | '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' | 时间线标识,以数组格式表示。包括以下内容:
|
--time_start | 是 | 0 | 要查询的时序数据的起始时间。 |
--time_end | 是 | 1667638230000000 | 要查询的时序数据的结束时间。 |
--limit | 否 | 100 | 最多返回条数,取值范围为1~5000。实际返回条数由服务端决定。 |
示例
查询度量名称为cpu,数据源标识为localhost,且标签为"region=hangzhou"和"os=ubuntu"的时间线中1667638230000000之前产生的所有时序数据。
getts --k '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' --time_start 0 --time_end 1667638230000000 --limit 100
检索时间线
检索满足指定条件的时间线。
命令格式
您可以将命令中的query_ts_meta简写为qtm。
query_ts_meta --measurement measurement_name --datasource data_source --limit 10
配置项说明请参见下表。
配置项 | 是否必填 | 示例值 | 说明 |
--measurement | 否 | cpu | 度量名称。 |
--datasource | 否 | localhost | 数据源标识。 |
--limit | 否 | 100 | 最多返回条数。取回范围为1~1000。实际返回条数由服务端决定。 |
-e,--edit | 否 | {"measurement":"cpu","data_source":"localhost"} | 通过输入JSON格式的内容配置查询条件。 |
您也可以通过执行qtm -e
命令后,手动输入查询条件来实现复杂查询,查询条件示例如下:
{
"Type":"COMPOSITE",
"QueryCondition":{
"Operator":"AND",
"SubConditions":[
{
"Type":"MEASUREMENT",
"QueryCondition":{
"Operator":"EQUAL",
"Value":"CPU"
}
},
{
"Type":"SOURCE",
"QueryCondition":{
"Operator":"EQUAL",
"Value":"127.0.0.1"
}
},
{
"Type":"TAG",
"QueryCondition":{
"Operator":"GREATER_EQUAL",
"TagName":"Region",
"Value":"Jiangning"
}
}
]
}
}
示例
检索度量名称为cpu且数据源标识为localhost的时间线。
query_ts_meta --measurement cpu --datasource localhost --limit 10
扫描时间线
获取时序表中所有时间线或者指定个数的时间线。
命令格式
您可以将命令中的query_ts_meta简写为qtm。
query_ts_meta --limit limit
配置项说明请见下表。
配置项 | 是否必填 | 示例值 | 说明 |
--limit | 否 | 10 | 本次扫描返回的最大行数。如果不配置此项,则表示扫描整表中所有数据。 |
示例
query_ts_meta --limit 10
更新时间线
更新时间线的属性。
命令格式
您可以将命令中的update_ts_meta简写为utm。
update_ts_meta --k '["measurement_name","data_source",["tag1=value1","tag2=value2"]]' --attrs '["key1=value1","key2=value2"]'
配置项说明请参见下表。
配置项 | 是否必填 | 示例值 | 说明 |
--k | 是 | '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' | 时间线标识,以数组格式表示。包括以下内容:
|
--attrs | 否 | '["city=nanjing","region=jiangning"]' | 时间线的属性,以数组表示。每个标签由key和value组成,表示为key=value格式。 |
示例
更新指定时间线的属性为"city=nanjing"和"region=jiangning"。
update_ts_meta --k '["cpu","localhost",["city=hangzhou","region=xihu"]]' --attrs '["city=nanjing","region=jiangning"]'