插入特定时间?

Posted

技术标签:

【中文标题】插入特定时间?【英文标题】:Inserting with a specific time? 【发布时间】:2015-06-26 14:46:38 【问题描述】:

我正在查看所有 InfluxDB 示例,它们似乎都以“现在时间”(插入时间)插入。有一个明确定义的“时间”字段,但没有一个示例使用它。

将事件的时间记录为“将时间插入数据库”是一种糟糕的模式。最好让传感器将其当前时间的概念附加到传感器值,传递该记录,然后将其插入具有该时间值的各种分析数据库中。 (非常小的传感器可能有一个更了解时间的“控制器”,但这仍然不是数据库插入)。

一个明显的例子是日志文件。每行都有一个时间戳,就在开头。爱它或恨它,但这是您对事件发生时间的最佳看法。

我正在寻找使用指定时间值插入 InfluxDB 的示例,但还没有想出一个。时间似乎总是隐含的当前时间。

【问题讨论】:

【参考方案1】:

只需在您的点中的标签和值旁边指定一个timestamp,请参见此处的示例:

https://docs.influxdata.com/influxdb/v1.3/guides/writing_data/#writing-data-using-the-http-api

0.9 版本的文档:

http://influxdb.com/docs/v0.9/concepts/schema_and_data_layout.html

如果您使用的是 0.8,那么您会希望您的积分以 time 列开始:

http://influxdb.com/docs/v0.8/api/reading_and_writing_data.html

【讨论】:

【参考方案2】:

是的,完全有可能。您只需指定一个“时间”列和一个值字段。例如:


  name:    "my_serie",
  columns: ["time", "value1", "value2"],
  points:  [
             [1429807111, 1, 2],
             [1429807111, 11, 22],
             [1429807111, 111, 222]
           ]

当然,您可以指定任意数量的列。

【讨论】:

【参考方案3】:

在 influx CLI 中,您可以根据Line Protocol:在行尾添加时间戳,以纳秒精度的 Unix 时间为单位:

$ influx
Connected to http://localhost:26131 version 1.3.5
InfluxDB shell version: 1.3.5
> insert log value=1 1504225728000123456

【讨论】:

以上是关于插入特定时间?的主要内容,如果未能解决你的问题,请参考以下文章

定时消息发送到特定频道

Mediafilesegmenter 在 HLS 流中插入定时元数据 ID3 标签,但时间点错误

swift 4 定时器在特定时间开始,然后做间隔

linux的crontab设置特定时间段特定时长轮循任务

Oracle_PL/SQL(10) 定时器job

salesforce 零基础学习(五十五)java通过SOAP方式定时访问某个文件然后插入到sObject中