資料操作
通過命令列工具寫入、匯入、查詢時序表資料以及行政時間線。
前提條件
執行資料操作前,先通過以下命令選定目標時序表。
use --ts -t <tableName>
寫入時序資料
向指定時間軸寫入一行時序資料。
putts --k '<timeseriesKey>' --field '<fields_json>' --time <timestamp>
|
參數 |
必填 |
說明 |
|
--k |
是 |
時間軸標識,以 JSON 數組表示,格式為
|
|
--field |
是 |
資料列,以 JSON 數組表示。每個資料列包含如下欄位:
|
|
--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 --measurement <measurement> --datasource <dataSource> --limit <n>
|
參數 |
必填 |
說明 |
|
--measurement |
否 |
度量名稱。 |
|
--datasource |
否 |
資料來源標識。 |
|
--limit |
否 |
最多返回的行數,取值範圍為 1~1000。實際返回行數由服務端決定。 |
|
-e,--edit |
否 |
以 JSON 格式配置複雜查詢條件。支援 COMPOSITE(組合條件)、MEASUREMENT、SOURCE、TAG 等條件類型。 |
樣本
檢索度量名稱為 cpu 且資料來源標識為 localhost 的時間軸。
query_ts_meta --measurement cpu --datasource localhost --limit 10
通過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"
}
}
]
}
}
掃描時間軸
擷取時序表中所有時間軸或指定個數的時間軸。命令可簡寫為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"]'