【问题标题】:How to insert current time while copying data from one measurement to another?如何在将数据从一个测量值复制到另一个测量值时插入当前时间?
【发布时间】:2019-04-17 21:56:05
【问题描述】:

如何在将数据从一个测量值复制到另一个测量值时插入当前时间。它会正确复制所有数据以及从中复制的测量的时间戳。

SELECT MIN(column) as value INTO db2.retention_policy2.measurement2 FROM db1.retention_policy1.measurement1 GROUP BY column1, column2

我希望新测量 (measurement2) 中的时间列具有当前时间,而不是来自 db1.retention_policy1.measurement1 的时间。那可能吗?谢谢。

有一种可能的方式将查询转换为列表:

list_current_data = list(current_data.get_points())

然后以这种方式更新时间:

for item in list_current_data:
    item['time'] = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-4]+"Z"

最后将更新列表中的数据插入到测量中。有谁知道如何将列表中的数据插入到测量中?

【问题讨论】:

  • 嗨。这真的不可能。 SELECT INTO 操作的时间通常不相关,但聚合时的时间或窗口是数据。您能否详细说明您的用例,以便我更了解它;请问?
  • 我正在尝试使用 InfluxDB 的 SELECT INTO 功能将数据从一个测量 1(有 3 列 [时间、数据 1、数据 2])复制到另一个测量 2。但是当我运行这个查询时,它会将时间从measurement1复制到measurement2,而我希望measurement2拥有当前时间。使用 now() 函数有可能吗?

标签: python influxdb influxdb-python


【解决方案1】:

可以通过以下方式将数据从列表写入测量:

current_data = client.query("SELECT statement")
list_current_data = list(current_data.get_points())

for data_point in current_data.get_points():
    data_to_write = [{'measurement': 'measurement_name',
                    'fields': {'value1': data_point['value1'],
                               'value2': data_point['value2']}
                    }]
    client.write_points(data_to_write)

这将在每次执行脚本时将新数据添加到测量中。

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2015-03-25
    相关资源
    最近更新 更多