запрос influxdb 1.X group по времени не работает

#group-by #time-series #influxdb

#группировка по #временные ряды #influxdb

Вопрос:

Я работаю с influxdb 1.7

У меня есть измерение с именем «test», как показано ниже

 > SELECT * FROM test
name: test
time                code    host        f_range         value
----                ---     ----        -------         -----
1610532240000000000 a       localhost   0.101~0.200     7
1610532240000000000 a       localhost   0.401~0.500     1
1610532240000000000 b       localhost   0.101~0.200     3
1610532300000000000 b       localhost   0.101~0.200     3
1610532300000000000 b       localhost   0.201~0.300     1
1610533020000000000 a       localhost   0.101~0.200     4
1610533020000000000 a       localhost   0.201~0.300     1
1610533020000000000 a       localhost   0.401~0.500     1
1610533020000000000 b       localhost   0.101~0.200     6
1610533620000000000 a       localhost   0.101~0.200     11
1610533620000000000 b       localhost   0.101~0.200     8
 

И я также могу сгруппировать его по значениям тегов, например…

 > SELECT sum("value") FROM "test" WHERE ("code" =~ /^a$/ AND "host" =~ /^localhost$/) AND time >= now() - 30m GROUP BY "f_range" fill(0)
name: test(0)
tags: f_range=0.101~0.200
time                sum
----                ---
1610500909884441460 22

name: test
tags: f_range=0.201~0.300
time                sum
----                ---
1610500909884441460 1

name: test
tags: f_range=0.401~0.500
time                sum
----                ---
1610500909884441460 2
 

Но когда я добавляю time(1m) условие к запросу, он просто ничего не возвращает.
Интересно, что я должен проверить в этом случае.

 > SELECT sum("value") FROM "test" WHERE ("code" =~ /^a$/ AND "host" =~ /^localhost$/) AND time >= now() - 30m GROUP BY time(1m), "f_range" fill(0)
>
 

Спасибо

Ответ №1:

Я нашел, что было не так. На самом деле временная метка была неправильной. Это время UTC. Я поместил эти данные из python-client, и они нуждаются в дополнительном преобразовании.

Я нахожусь в зоне 09. Итак … временная метка указывает на 9 часов после этого.

Я изменил свой код python3

 single = {'measurement':'test', 'tags': tags, 'time': date_timestamp.strftime('%Y-%m-%dT%H:%M:%S 09'), 'fields': {'value': value}} 
 

переменная datetime_stamp — это datetime тип в python

Комментарии:

1. Вывод: проверьте часовой пояс