数据操作

更新时间:
复制为 MD 格式

通过命令行工具写入、导入、查询时序表数据以及管理时间线。

前提条件

  • 已完成命令行工具的安装和访问凭证配置。具体操作,请参见命令行工具

  • 已创建时序表。具体操作,请参见时序表操作

执行数据操作前,先通过以下命令选定目标时序表。

use --ts -t <tableName>

写入时序数据

向指定时间线写入一行时序数据。

putts --k '<timeseriesKey>' --field '<fields_json>' --time <timestamp>

参数

必填

说明

--k

时间线标识,以 JSON 数组表示,格式为["measurement","dataSource",["tag1=value1","tag2=value2"]]。包括:

  • 第一个元素:度量名称(measurement)。

  • 第二个元素:数据源标识(dataSource)。

  • 第三个元素:标签数组,每个标签为 tagKey=tagValue 格式。

--field

数据列,以 JSON 数组表示。每个数据列包含如下字段:

  • c(必选):列名。

  • v(必选):列值。支持字符串、布尔值、整型和浮点数。

  • isint(可选):设置为 true 表示该列为整型。不设置或设置为 false 时,数值类型默认为浮点数。

--time

该行时序数据对应的时间,格式为时间戳,单位为微秒(us)。

示例

插入一行时序数据。

putts --k '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' --field '[{"c":"usage_user","v":58,"isint":true},{"c":"usage_idle","v":24,"isint":true}]' --time 1635162859000000

导入时序数据

将本地文件中的时序数据导入到时序表。

Windows

import_timeseries --input D:\\localpath\\filename.txt

Linux 和 macOS

import_timeseries --input /localpath/filename.txt

参数

必填

说明

-i,--input

指定数据文件路径,从文件导入时序数据。

数据文件中每行代表一行时序数据,格式为measurement_name,tags fields timestamp

字段

必填

说明

measurement_name

度量名称(measurement)。

tags

每个标签格式为 tagKey=tagValue。第一个标签的 tagValue 作为数据源标识。

fields

数据列,格式为 columnKey=columnValue。数值结尾加 i 表示整型,否则表示浮点数。

timestamp

时间戳,单位为纳秒(ns)。导入到时序表后自动转换为微秒。

数据文件示例:

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

示例

import_timeseries --input /tmp/import_timeseries.txt

查询时序数据

查询指定时间线在指定时间范围内的时序数据。

getts --k '<timeseriesKey>' --time_start <start> --time_end <end> --limit <n>

参数

必填

说明

--k

时间线标识,格式与写入时序数据中的 --k 参数相同。

--time_start

查询的起始时间,格式为时间戳,单位为微秒。

--time_end

查询的结束时间,格式为时间戳,单位为微秒。

--limit

最多返回的行数,取值范围为 1~5000。

示例

getts --k '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' --time_start 0 --time_end 1667638230000000 --limit 100

扫描时间线

获取时序表中所有时间线或指定个数的时间线。命令可简写为qtm

query_ts_meta --limit <n>

参数

必填

说明

--limit

本次扫描返回的最大行数。不设置则扫描所有时间线。

示例

query_ts_meta --limit 10

更新时间线

更新时间线的属性。如果目标时间线不存在,则自动新增。命令可简写为utm

update_ts_meta --k '<timeseriesKey>' --attrs '<attributes>'

参数

必填

说明

--k

时间线标识,格式与写入时序数据中的 --k 参数相同。

--attrs

时间线的属性,以 JSON 数组表示。每个属性为 key=value 格式。

示例

更新指定时间线的属性。

update_ts_meta --k '["cpu","localhost",["region=hangzhou","os=ubuntu"]]' --attrs '["city=nanjing","region=jiangning"]'