Influxdbは、データとその属性をテーブルに格納する時系列データベースであり、一般に測定値と呼ばれます。
Influxdbのデータベース内のテーブルをcsv形式でローカルシステムにフェッチできますか?
CLIでは、次のコマンドを使用してローカルシステムにテーブルをダウンロードできます。
influx -database 'database_name' -execute 'SELECT * FROM table_name' -format csv > test.csv
または、次のようにjq
を使用してJSON出力をCSVに変換できます。これにより、RFC3339形式のタイムスタンプを取得することもできます。
jq -r "(.results[0].series[0].columns), (.results[0].series[0].values[]) | @csv"
これは出力を与えます
"time","ppm","T"
"2019-01-17T19:45:00Z",864.5,18.54
"2019-01-17T19:50:00Z",861.4,18.545
"2019-01-17T19:55:00Z",866.2,18.5
"2019-01-17T20:00:00Z",863.9,18.47
と動作する理由:
(.results[0].series[0].columns)
列名を配列として取得します,
出力を連結します(.results[0].series[0].values[])
データ値を配列として取得します| @csv
jqcsvフォーマッターを使用します-r
は生の出力を取得するために使用されますその他のリソース:
CLIツールinflux
を使用して、結果のcsv出力形式を設定できます。
influx -Host your_Host -port 8086 -database 'your_db' -execute 'select * from your_metric' -format 'csv'
-Host
および-port
オプションは、コマンドがローカルInfluxDBホストで実行される場合は省略できます。タイムスタンプの形式を設定するための便利な-precision
オプションもあります。