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"]]' 時系列識別子。次の内容を含む配列です。 - 測定名: メトリック名。この例では、メトリック名はcpuです。
- データソース: データが生成されるデータソース。この例では、データソースはlocalhostです。
- タグ: タグ。値は配列で、各タグは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: このパラメーターは必須で、データ列の値を指定します。このパラメーターの値は、文字列型、数値型、またはブール型にすることができます。
- isint: このパラメーターはオプションで、数値データ列の値を整数型の値に変換するかどうかを指定します。このパラメーターの値はブール型です。有効な値: trueおよびfalse。デフォルト値はfalseで、数値データ列の値を浮動小数点型の値に変換することを指定します。
このパラメーターをtrueに設定すると、数値データ列の値は整数型の値に変換されます。
--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.txt
- Linuxおよび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 はい 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)。 重要 データが時系列テーブルにインポートされると、構成ファイルのナノ秒単位のタイムスタンプはマイクロ秒単位のタイムスタンプに自動的に変換されます。 - Windows
- 例
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"]]' 時系列識別子。次の内容を含む配列です。 - 測定名: メトリック名。この例では、メトリック名はcpuです。
- データソース: データが生成されるデータソース。この例では、データソースはlocalhostです。
- タグ: タグ。値は配列で、各タグは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"]]' 時系列識別子。次の内容を含む配列です。 - 測定名: メトリック名。この例では、メトリック名はcpuです。
- データソース: データが生成されるデータソース。この例では、データソースはlocalhostです。
- タグ: タグ。値は配列で、各タグはtagKey=tagValueの形式でtagKeyとtagValueで構成されます。
--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"]'