通過命令列工具您可以在時序表中寫入時序資料、匯入時序資料、查詢時序資料、檢索時間軸、掃描時間軸以及更新時間軸。
在對時序表進行資料操作前,請先使用表。更多資訊,請參見使用表。
寫入時序資料
寫入時序資料到時序表中。
命令格式
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"]'