遍历InfluxDB中的大量数据

时间:2019-05-09 23:23:57

标签: influxdb influxdb-python

我正在寻找一种有效的方法来迭代具有约2.5亿个条目的influxDB表的全部数据。 我目前正在使用OFFSETLIMIT子句对数据进行分页,但是对于更高的偏移量,这会花费很多时间。

SELECT * FROM diff ORDER BY time LIMIT 1000000 OFFSET 0

需要21秒,而

SELECT * FROM diff ORDER BY time LIMIT 1000000 OFFSET 40000000

需要221秒。

我正在使用Python influxdb包装器发送请求。

有没有一种方法可以对此进行优化或流式传输整个表?


UPDATE:重新记录最后接收到的数据的时间戳,然后在下一个查询中使用WHERE time> = last_timestamp,可以大大减少较高偏移量的查询时间(查询时间始终为〜25秒)。但是,这相当麻烦,因为如果两个数据点共享相同的时间戳,则可能在两页数据上出现某些结果,必须以某种方式对其进行检测。

1 个答案:

答案 0 :(得分:0)

您应该使用连续查询或Kapacitor。您能否详细说明用例,您正在处理数据流吗?