influxdb数据/表是否下载为csv文件?

f0ofjuux  于 2023-01-28  发布在  InfluxDB
关注(0)|答案(7)|浏览(328)

Influxdb是一个时间序列数据库,它在表中存储数据及其属性,通常称为度量。
influxdb数据库中的表是否可以csv格式提取到本地系统?

5vf7fwbs

5vf7fwbs1#

在CLI中,以下命令可用于下载本地系统上的表:

influx -database 'database_name' -execute 'SELECT * FROM table_name' -format csv > test.csv
lymnna71

lymnna712#

使用CLI工具influx,您可以设置结果的csv输出格式:

influx -host your_host -port 8086 -database 'your_db' -execute 'select * from your_metric' -format 'csv'

如果命令在本地InfluxDB主机上运行,则可以省略-host-port选项。还有一个有用的-precision选项用于设置时间戳的格式。

g9icjywg

g9icjywg3#

surya rahul发布的答案对我起作用了,但有小的修正

    • 原件**:* * 流入-数据库'数据库名'-执行'SELECT * FROM表名'-格式csv〉test. csv**.

此命令返回错误***"错误解析查询:无效持续时间"***

但是。在查询部分使用双引号**""代替单引号''的简单修改解决了这个问题。修改 * 流入-数据库'数据库名'-执行"从表名选择 "-格式csv〉test. csv

作为新来的,不确定它是如何工作的,但它是有效的。希望它可能会有帮助。

flvtvl50

flvtvl504#

CLI方式在其他答案中有解释。我使用的是HTTP-API方式:

curl -G 'http://localhost:8086/query' --data-urlencode "db=mydb" --data-urlencode "q=SELECT * FROM \"mymeasurement\" " -H "Accept: application/csv" >  mytargetcsv.csv
database = mydb
measurement/table = mymeasurement
CSV-File = mytargetcsv

您还可以从远程计算机使用此功能,并将查询分割为时间片(标题:存储器使用):

"q=SELECT * FROM \"mymeasurement\" where time > now() - 130d"
"q=SELECT * FROM \"mymeasurement\" where (time < now() - 130d) and  (time > now() - 260d)"

https://docs.influxdata.com/influxdb/v1.8/tools/api/

luaexgnf

luaexgnf5#

或者,您可以使用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使用jq csv格式器
  • -r用于获取原始输出

其他资源:

myzjeezk

myzjeezk6#

如果您的测量表名称中的特殊字符有问题,您会在终端收到来自influx的错误。
示例:

$ influx -execute 'SELECT * FROM sonoff.0.energy.value'
    • 解析查询时出错:找到.0,预期为:第1行第21个字符**

您必须像下面这样使用带引号的查询:
示例:

$ influx -execute 'SELECT * FROM "sonoff.0.energy.value"'
nhn9ugyo

nhn9ugyo7#

只需轻松选择行-〉右键单击-〉导出选定内容-〉选择所需格式

相关问题