重命名测量

Jer*_*mie 7 influxdb

我使用 influxDB 而不是 MySQL 进行时间序列分析。在我的数据库中data,我有一个名为/HFT/Data_HFT/OrderBook/DCIX_OB. 该名称无关紧要,它是由错误创建的。该系列有 8900 万行,因此重新创建该系列需要很长时间。

所以这对我来说不是一个解决方案:

SELECT * INTO new_name FROM old_name
DROP MEASUREMENT old_name
Run Code Online (Sandbox Code Playgroud)

我尝试了该解决方案,但它根本不起作用。这是错误:

> RENAME MEASUREMENTS 'OLD_NAME' to 'NEW_NAME'
ERR: error parsing query: found RENAME, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
Run Code Online (Sandbox Code Playgroud)

我怎么能重命名它?

Sar*_*ang 8

目前还没有官方的方法来重命名测量。这样做的方法是:

  1. 使用 查找测量中的所有标签SHOW TAG KEYS FROM MyMeasurement。假设您的标签是tag1tag2
  2. 使用以下命令将所有数据复制到新的测量中 SELECT * INTO MyMeasurementCopy from MyMeasurement GROUP BY tag1,tag2
  3. 一旦您 100% 确定所有数据都已复制,您可以使用以下命令删除旧数据 DROP MEASUREMENT MyMeasurement

这是一个漫长的过程,但它有效。

  • 您可以使用“SELECT * INTO MyMeasurementCopy from MyMeasurement GROUP BY *”来避免查找所有标签的手动过程。请参阅此答案:/sf/answers/2595898371/ (9认同)
  • 我可以确认它有效。在 influx 版本 1.7.9 中测试。 (3认同)