通过命令行工具您可以在时序表中写入时序数据、导入时序数据、查询时序数据、检索时间线、扫描时间线以及更新时间线。
写入时序数据
写入时序数据到时序表中。
- 命令格式
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"]]' 时间线标识,以数组格式表示。包括以下内容: - 度量名称(measurement name):表示度量值的类型,示例中为cpu。
- 数据源标识(data source):表示产生数据的数据源,示例中为localhost。
- 标签(tags):以数组表示,每个标签由tagKey和tagValue组成,表示为tagKey=tagValue的格式。
--field 是 '[{"c":"fieldname","v":"fieldvalue"},{"c":"bool_field","v":true},{"c":"double_field","v":1.1},{"c":"int_value","v":10,"isint":true}]' 时序数据的数据列,以JSON数据格式表示。每个数据列包含以下内容: - c(必选):数据列名。
- v(必选):数据列值,类型可选字符串、数值和Bool。
- isint(可选):数值类型的数据列值是否按照整型处理,类型为Bool,取值范围为true和false。默认值为false,表示数值类型的数据列值按照浮点数处理。
当设置为true时,表示数据类型的数据列值按照整型处理。
--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)。 注意 数据导入到时序表后,配置文件中数据的纳秒单位时间戳会自动转换为微秒单位时间戳。 - Windows平台
- 示例
导入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"]]' 时间线标识,以数组格式表示。包括以下内容: - 度量名称(measurement name):表示度量值的类型,示例中为cpu。
- 数据源标识(data source):表示产生数据的数据源,示例中为localhost。
- 标签(tags):以数组表示,每个标签由tagKey和tagValue组成,表示为tagKey=tagValue的格式。
--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"]]' 时间线标识,以数组格式表示。包括以下内容: - 度量名称(measurement name):表示度量值的类型,示例中为cpu。
- 数据源标识(data source):表示产生数据的数据源,示例中为localhost。
- 标签(tags):以数组表示,每个标签由tagKey和tagValue组成,表示为tagKey=tagValue的格式。
--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"]'