【问题标题】:how to permanently merge two measurements in InfluxDB如何在 InfluxDB 中永久合并两个测量值
【发布时间】:2020-10-03 03:03:42
【问题描述】:

我家有一组温度传感器,我刚刚将它们升级为新设备。

它们以完全相同的方式记录到我的 InfluxDB 中(即每 15 分钟一次的温度和湿度),但 InfluxDB 中的设备名称不同。

我不想失去多年的历史,所以我想将我所有的历史记录从 TempSensor 重命名为新名称 ESP_TempSensor(并因此合并记录) - 因为我确实交换了设备和数据格式相同。

我用谷歌搜索过,我知道 InfluxDB 在连接和其他简单的事情上似乎不是很能干,但在这种情况下,我很乐意手动和永久地合并数据集。

非常感谢任何指针/帮助!

【问题讨论】:

    标签: influxdb


    【解决方案1】:

    您可以使用INTO 子句:

    SELECT * INTO ESP_TempSensor FROM TempSensor GROUP BY *

    确保包含 GROUP BY * 否则 influx 会将所有标签转换为字段键。

    【讨论】:

    • 谢谢!认为这应该可以解决问题,我已经尝试过,但出现“需要数据库”错误,然后我尝试明确声明:SELECT * INTO ESP_TempGardenRoom FROM “home_assistant”.“autogen”.“GardenRoom” GROUP BY * 但是它返回 400 错误。有什么想法吗?
    • @Alphatester77 也许先试试use [ "<database_name>" | "<database_name>"."<retention policy_name>" ]。然后 influx 将知道您指的是哪个数据库,而无需指定保留策略等。我认为您的语法问题可能是 influx 知道从何处获取测量值,但不确定将其放在哪里。但这只是一个猜测......
    • 啊有用 - 这有点道理,我只是在为事物的涌入术语而苦苦挣扎 - 好吧,不要嘲笑我的尝试,但我已经上传了 chronograf 查询屏幕的屏幕截图,所以你可以看到数据库结构/字段。你能给我关于我的sql的任何指示吗? imgur.com/62IfaaK
    • 我正在尝试使用:SELECT * INTO ["home_assistant.autogen"."autogen"] ESPTemp_GardenRoom FROM GardenRoom GROUPBY * - 但这不起作用!
    • 你能把你输入的查询的截图也贴出来吗?这是Chronograf,对吧?你也试过influx cli吗?通常响应应该包含为什么查询失败......我可以想象你的请求失败,因为 Chronograf 将发送一个失败的 GET 请求,因为你想要实际写入数据,所以你必须发送一个 POST 请求。但这只是一个猜测,真的很烦人 chronograf 实际上并没有给你来自 http 响应的信息......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2022-06-14
    • 2011-01-04
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多