【问题标题】:Count by minute in Riak TS在 Riak TS 中按分钟计数
【发布时间】:2016-12-08 11:31:24
【问题描述】:

我正在尝试掌握 Riak TS 中最近添加的组。

我无法找到按分钟对结果进行分组的方法,例如数数。我将在下面展示一个示例。

CREATE TABLE Results
(
   result      VARCHAR   NOT NULL,
   time        TIMESTAMP NOT NULL,
   PRIMARY KEY (
      (QUANTUM(time, 1, 'm')),
      time
   )
)

插入

INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:03:45Z');
INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:04:45Z');
INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:05:45Z'); 
INSERT INTO FreightMinuteResult VALUES ('Novo', '2017-12-07 12:05:46Z');

查询

select count(*) from FreightMinuteResult where time > '2017-12-07 12:01:00Z' and time < '2017-12-07 12:06:00Z' group by time;

结果是

+--------+--------------------+ |COUNT(*)| time | +--------+--------------------+ | 1 |2017-12-07T12:04:45Z| | 1 |2017-12-07T12:03:45Z| | 1 |2017-12-07T12:05:45Z| | 1 |2017-12-07T12:05:46Z| +--------+--------------------+

如何使用 Riak TS 统计每分钟出现的次数?

谢谢。

【问题讨论】:

    标签: riak riak-ts


    【解决方案1】:

    quantum 用于在后端组织数据以简化查询操作,而 group by 使用指定字段的确切值。时间戳2017-12-07T12:05:45Z2017-12-07T12:05:46Z 出现在同一分钟内,因此将存储在磁盘上的同一位置,但它们仍以不同的秒分辨率时间戳值存储,这些值将单独分组。

    如果您希望能够按分钟分组,则需要在插入时对时间戳进行四舍五入,或者修改表以包含可以分组的分钟字段。

    【讨论】:

    • 好的,谢谢乔!我认为文档在此功能方面具有误导性。例如,它声明:“GROUP BY 对于在一段时间内聚合设备的属性很有用;例如,您可以使用它来提取过去 24 小时内每 30 分钟的平均值。”。从您的回复来看,这意味着我必须每 30 分钟创建一个代表字段,然后如果我想每 15 分钟分组一次,则创建另一个字段。太尴尬了。
    • Ricardo 我理解您的困惑,但重要的是要注意 TS 中的 GROUP BY 与标准 RDBMS 中的 GROUP BY 相同,因为您分组的字段必须保持相同的值。由于您示例中的时间戳与每个唯一的“时间”值不匹配,因此将在结果集中创建自己的行。
    • 嗨克雷格!谢谢你的评论!我明白了,但是 IMO 作为时间序列数据库,Riak TS 可以以本机方式处理时间操作。希望它在路线图中。见:kairosdb.github.io/docs/build/html/restapi/TimeGrouping.htmldocs.influxdata.com/influxdb/v1.1/query_language/…
    • 里卡多,好点子。但是,它必须在 SQL 语言之外,因为更改用户期望的标准 GROUP BY 行为会令人困惑。
    • 是的,我猜传统 SQL 在设计时并没有考虑到时间序列。我相信在某个时候 Riak TS 将不得不采用 SQL 的变体来利用其时间序列特性,否则它可能会被视为与 VoltDB 声称的非常相似的可扩展 SQL 数据库。从基准的角度来看,InfluxDB 也使用类似 SQL 的语法进行查询,我还没有看到社区的报告发现该组的实现令人困惑。我希望 Riak TS 在当前的 TS 数据库中找到自己的路,看起来很有希望。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2021-10-21
    相关资源
    最近更新 更多