Tablestore CLI を使用すると、時系列テーブルへの時系列データの書き込みとインポート、および時系列テーブル内の時系列データのクエリを実行できます。 また、Tablestore CLI を使用して、時系列テーブル内の時系列の取得、スキャン、および更新を行うこともできます。
時系列テーブルでデータ操作を実行する前に、テーブルを使用します。 詳細については、「時系列テーブルを使用する」をご参照ください。
時系列データの書き込み
時系列テーブルに時系列データを書き込みます。
コマンド構文
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 | 時系列データの行が生成された時刻。 このパラメーターの値はタイムスタンプです。 単位: マイクロ秒 (μs)。 |
例
時系列データの行を挿入します。
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.txtLinux と macOS
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_name
はい
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 の形式のキーと値で構成されます。 |
例
指定された時系列のプロパティを "city=nanjing" と "region=jiangning" に変更します。
update_ts_meta --k '["cpu","localhost",["city=hangzhou","region=xihu"]]' --attrs '["city=nanjing","region=jiangning"]'