删除InfluxDB中的重复项

时间:2017-05-19 08:11:42

标签: influxdb

我想执行查询以删除重复项。我在这里定义的重复是一个测量,我们有一个以上的数据点。它们将具有不同的标签,因此默认情况下它们不会被覆盖,但我想删除最旧的插入,无论标签如何。

因此,例如,登录的测量(它确实没有意义,但它是为了避免使用抽象实体):

> Email   | Name    | TS         | Login Time
> 
> a@a.com | Alice   | xxxxx1000  | 2017-05-19
> a@a.com | Alice   | xxxxx1000  | 2017-05-18
> a@a.com | Alice   | xxxxx1000  | 2017-05-17
> b@b.com | Bob     | xxxxx1000  | 2017-05-18
> c@c.com | Charlie | xxxxx1200  | 2017-05-19

我想删除第二行和第三行,因为数据点与第一行具有相同的时间戳,它是相同的度量但它们具有不同的登录时间,我想只采用最后一行。

我很清楚我可以通过查询来解决这个问题,但是要求比这更复杂(Grafana中的奇怪KPI数据的可视化),我需要删除实际的重复项(生成和加载两次)。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用group by获取所有登录用户名,然后按时间顺序排序,以便最先登录最新登录时间,然后您可以删除剩余的登录用户名。

此外,您可能需要将最新项目复制到其他测量项,因为您无法删除Influxdb中的行。

为此,您可以使用限制1偏移0,以便只有最新的登录时间来自查询输出。

如果我理解正确,请告诉我。