您好我想查询定期发送警报的某些设备的数据。所以我想要一个时间序列。 我创建了一个这样的表:
CREATE TABLE alerts_by_day (
day_of_year int,
year int,
alert_timestamp timestamp,
serial_number text,
alert_id uuid,
alert_type text,
PRIMARY KEY((day_of_year, year), serial_number, alert_timestamp, alert_type,alert_id)
) WITH CLUSTERING ORDER BY (serial_number DESC, alert_timestamp DESC, alert_type DESC);
现在我想创建一个查询或物化视图,以便能够按时间范围(即:从2015年11月29日到2016年1月20日)和警报类型进行查询。所以我只想显示特定类型和时间范围的警报。我可以查询某个时间范围:
Select * from alerts_by_day
where day_of_year IN (312,313)
and year IN (2016,2015)
and alert_timestamp < '2016-11-08 03:09:14-0800'
and alert_timestamp > '2016-11-07 23:13:28-0800'
但我不能这样做:
Select * from alerts_by_day
where day_of_year IN (312,313)
and year IN (2016,2015)
and alert_timestamp < '2016-11-08 03:09:14-0800'
and alert_timestamp > '2016-11-07 23:13:28-0800'
and alert_type IN ('type1', 'type2')
因为我使用了对于alert_timestamp不是EQ的限制。
我怎么能实现这一点我只能看到类型1和类型2的警报?
这是错误: 无法执行CQL脚本:无法限制群集列alert_type(precingign列alert_timestamp受非EQ关系限制)