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

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

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

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

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

【问题讨论】:

    标签: time-series 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
        

        【讨论】:

          猜你喜欢
          • 2012-05-21
          • 2015-02-26
          • 1970-01-01
          • 2017-08-18
          • 2018-05-28
          • 2019-05-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多