У меня есть данные временного ряда power_drawl с интервалом в 1 минуту в течение нескольких лет. То есть каждый день будет иметь 1440 (60 минут * 24 часов) значений.
Это моя таблица,
CREATE TABLE power_drawl (date date, time time, x_power_mw float, PRIMARY KEY(date, time)) WITH CLUSTERING ORDER BY (time ASC);
SELECT * FROM power_drawl WHERE date='2016-01-01' and time>='00:00:00' and time<='00:10:00' ALLOW FILTERING ;
date | time | x_power_mw
------------+--------------------+--------------------------------
2016-01-01 | 00:00:00.000000000 | 23.95
2016-01-01 | 00:01:00.000000000 | 24.17
2016-01-01 | 00:02:00.000000000 | 23.52
2016-01-01 | 00:03:00.000000000 | 21.17
2016-01-01 | 00:04:00.000000000 | 24.53
2016-01-01 | 00:05:00.000000000 | 25.06
2016-01-01 | 00:06:00.000000000 | 28.5
2016-01-01 | 00:07:00.000000000 | 25.52
2016-01-01 | 00:08:00.000000000 | 25.66
2016-01-01 | 00:09:00.000000000 | 25.4
2016-01-01 | 00:10:00.000000000 | 23.25
Теперь у меня есть такой запрос
"Что такое max
значение x_power_mw
с 12:00 до 14:00 каждый день в январе месяце с 2011 по 2015 г. и когда это произошло "
". И в приведенном выше запросе, что, если я хочу запросить запрос на 2011 и 2015 гг. а не с 2011 по 2015 годы (разрывные значения) "
Мне кажется, что невозможно написать один запрос cql
для этих запросов.
1) Как написать запрос cql
с where
предложение с 2011 и 2015 годами, а не с 2011 по 2015 год?
2) Является ли хорошей идеей запрашивать отдельно для каждого года и вычислять максимум на стороне клиента?
3) Является ли мой data model
правильным для этих запросов, если нет, то который является правильным (следует ли отделять год от даты, добавляемой в качестве составного ключа кластеризации)?