是否可以仅在特定时间范围内从 Cassandra select 获取数据?

Is it possible to select data from Cassandra only for specific timeframe?

假设我将数据存储在 Cassandra 中,其中一列具有时间戳格式,它也是一个键,通过它我可以 select 基于日期时间范围的数据。我的数据频率为 1 分钟,因此检索一整天的行将获得 1440 个数据点。但是对于某些应用程序,我只想在每个偶数小时每天检索 24 个点。

是否可以在 CQL 中进行查询,仅获取偶数小时或每隔一定时间(如 15 或 30 分钟)的数据点?

我的 cassandra 版本:

[cqlsh 5.0.1 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native protocol v4]

编辑:我设计了 table 但如果需要我可以更改它。到目前为止,创建 table 的查询是:

CREATE TABLE sensors_test 
(name text, 
value double, 
time timestamp, 
PRIMARY KEY (name, time) 
) WITH CLUSTERING ORDER BY (time DESC);

您的设计将达到目的,但会产生宽行。

CREATE TABLE sensors_test 
( name text,
  year  int,
  month int,
  day int,
  hour int,
  value double, 
  time timestamp, 
  PRIMARY KEY ((name,year,month,day,hour), time) 
 ) WITH CLUSTERING ORDER BY (time DESC);

这个table设计将解决宽行问题。您可以获取一天中任何时间的数据,也可以在时间列上使用范围查询。