【问题标题】:Is it possible to select data from Cassandra only for specific timeframe?是否可以仅在特定时间范围内从 Cassandra 中选择数据?
【发布时间】:2021-08-07 09:31:46
【问题描述】:

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

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

我的 cassandra 版本:

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

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

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

【问题讨论】:

  • 您有没有设计过任何表格,请在问题陈述中提及。
  • @Gunwant 问题已编辑以包含有关表格的更多信息

标签: database cassandra cassandra-3.0


【解决方案1】:

您的设计将达到目的,但它会创建宽行。

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);

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多