通过终端在 InfluxDB 中创建表

Posted

技术标签:

【中文标题】通过终端在 InfluxDB 中创建表【英文标题】:Creating tables in InfluxDB via Terminal 【发布时间】:2017-01-17 23:59:14 【问题描述】:

是否有在线教程教你如何在 InfluxDB 中创建表和输入值?您将如何创建一个表并将值插入其中?

【问题讨论】:

为什么我收到了不满意的评价? 赞成这个。不能因为框架上的文档很差而对问题投反对票。 【参考方案1】:

InfluxDB 并没有表的概念。数据被结构化为系列,由度量、标签和字段组成。

测量就像水桶。

标签是索引值。

字段是实际数据。

数据通过线路协议写入 InfluxDB。线路协议结构如下

<measurement>,<tag>[,<tags>] <field>[,<field>] <timestamp>

线中点协议示例:

weather,location=us-midwest temperature=82 1465839830100400200

要将数据插入数据库,您需要向 /write 端点发出 HTTP POST 请求,并指定 db 查询参数。

例如:

curl -XPOST http://localhost:8086/write?db=mydb --data-binary "weather,location=us-midwest temperature=82 1465839830100400200"

有关更多信息,请参阅 InfluxDB 文档的Getting Started 部分。

【讨论】:

另外,正如入门所说:您可以在 CLI 中使用插入语句,例如:INSERT weather,location=us-midwest temperature=82 1465839830100400200 而且要明确一点,上例中的“”实际上是指测量类型(尽管上例中的“天气”“测量”(type)值实际上更多的是一个类别测量类型,也许不是最好的例子)。我认为数据行的一个更好的教学示例可能是(故意冗长的教学):'temperature_measurement,location=us-midwest temperature_value=82 1465839830100400200'【参考方案2】:

我只想quote这里influxdata community的版主:

你可以想到

测量在 SQL 中作为 表格标签作为索引列, 和 字段 作为未索引的列

【讨论】:

并且“标签键”是索引列的名称,“标签值”是具有给定标签键(索引列名称)的标签列的值。字段“键”(也称为字段“名称”)是未索引列的名称,字段值是相应未索引列的值。请注意,您只能在“显示测量”命令中使用标签键/名称和标签值(“测量”(在这个词的流入意义上)是包含行的表格,其中行是实际的数据测量值(在英语意义上这个词))【参考方案3】:

此外,没有“创建表”语句。只需插入表格即可。上面指定了网络呼叫。如果你有“influx”命令行解释器,你可以这样做:

export INFLUX_PASSWORD="BlahBlahBlah"
influx -host <hostname> -u <username> -d <database>
insert my_influx_test_measurement,index1="aaa" value1="bbb"

请注意,“插入”只是一个命令行(又名“涌入”)的东西。不适用于 http 调用。

糟糕的是,他们将命令行解释器命名为“influx”。现在,当有人提到“涌入”时,不清楚是数据库还是 CLI。

【讨论】:

以上是关于通过终端在 InfluxDB 中创建表的主要内容,如果未能解决你的问题,请参考以下文章

在mysql中创建表时使用变量作为表名

如何在oracle10G中创建表空间

查找在 BigQuery 中创建表的查询

Oracle 10g中如何创建表

Oracle 10g中如何创建表

在 Greenplum 中创建表结构