全部產品
Search
文件中心

Tablestore:資料操作

更新時間:Sep 05, 2024

通過命令列工具您可以在時序表中寫入時序資料、匯入時序資料、查詢時序資料、檢索時間軸、掃描時間軸以及更新時間軸。

說明

在對時序表進行資料操作前,請先使用表。更多資訊,請參見使用表

寫入時序資料

寫入時序資料到時序表中。

命令格式

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)。

    重要

    資料匯入到時序表後,設定檔中資料的納秒單位時間戳記會自動轉換為微秒單位時間戳記。

樣本

匯入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"]'