删除 InfluxDB 中的重复项

Removing duplicates in InfluxDB

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

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

> 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 数据),我需要删除实际的重复项(生成和加载两次)。

谢谢。

你可以使用group by取所有登录用户名,然后按时间排序,这样最新的登录时间排在最前面,然后你可以删除剩下的。

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

为此,您可以使用 limit 1 offset 0,这样只有最新的登录时间才会来自查询输出。

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