У меня возникли проблемы с непрерывными запросами в influxdb 0.8.8. Я пытаюсь создать непрерывный запрос, но кажется, что предложения where игнорируются. Я знаю об ограничениях, упомянутых здесь: http://influxdb.com/docs/v0.8/api/continuous_queries.html, но я не считаю, что это будет так.Непрерывные запросы в Influxdb, игнорирующие where where?
Одна строка временных рядов будет содержать такие данные:
{"hex":"06a0b6", "squawk":"3421", "flight":"QTR028 ", "lat":99.867630, "lon":66.447365, "validposition":1, "altitude":39000, "vert_rate":-64,"track":125, "validtrack":1,"speed":482, "messages":201, "seen":219}
запросе я бегу и работает в следующем:
select * from flight_series where time > now() - 30m and flight !~ /^$/ and validtrack = 1 and validposition = 1;
Тро это я пытаюсь взять в течение последних 30 минут с текущего времени убедитесь, что поле полета не является пробелом и что дорожка/позиция действительны. Запрос возвращает успешно, но когда я добавляю в
into filtered_log
часть «где» пункт игнорируется.
Как создать непрерывный запрос, учитывающий вышеупомянутые условия? По крайней мере, как я могу извлечь с одним непрерывным запросом только строки, у которых действительный трек/заголовок установлен в 1, а полет не является пробелом/пустой строкой? Ограничение по времени, которое я мог бы исключить из запроса и перевести в удержание/продолжительность осколка.
Кроме того, могу ли я указать в непрерывном запросе сохранение данных в временной ряд, который находится в другой базе данных (которая имеет более расслабленную политику хранения/продолжительности)?
Спасибо!
Позже изменения:
мне удалось сделать что-то ближе к моей потребности с помощью следующей CQ:
"select time, sequence_number, altitude, vert_rate, messages, squawk, lon, lat, speed, hex, seen from current_flights where ((flight !~ /^$/) AND (validtrack = 1)) AND (validposition = 1) into flight.[flight]"
Это создает серию для каждого «полета», даже для тех, которые имеют пробел в поле «полет», для которого требуется полет. серия построена.
Как я могу указать политики хранения/продолжительности для серий, генерируемых cq выше? Могу ли я сделать что-то вроде:
"spaces": [
{
"name": "flight",
"retentionPolicy": "1h",
"shardDuration": "30m",
"regex": "/.*/",
"replicationFactor": 1,
"split": 1
},
...
, который дал бы мне удержание 1 ч и длительность осколка 30 м?
Я немного смущен тем, где хранятся эти серии, в каком осколочном пространстве?
Спасибо!
PS: Моей конечной целью было бы следующее: Имейте «окно» 15-30 минут максимум при всех полетах, обрабатывайте некоторые данные из них, и после этого периода происходит сброс данных, но в то же время переместить/скопировать его в другую долгосрочную db/серию, которая может использоваться в исторических целях.
Благодарим вас beckettsean! См. Мое обновленное сообщение. – emmerich